1 */本文章提供在php教程中socket相關函數的執行個體,如果建立socket 接受一個socket串連 寫入一個socket 初始化串連等操作。*/ 2 $ip="127.0.0.1"; //定義ip地址 3 $port=1000; //定義連接埠 4 $socket=socket_create(af_inet,sock_stream,sol_tcp); //建立socket 5 $bind=socket_bind($socket,$ip,$prot); //綁定一個socket 6 $listen=socket_listen($socket); //監聽socket 7 $msg=socket_accept($socket); //接受一個socket串連 8 $welcome="歡迎來到php服務/n"; //定義字串 9 socket_write($msg,$welcome,strlen($welcome)); //寫入一個socket10 socket_close($socket); //關閉socket11 12 13 14 $ip="127.0.0.1"; //定義ip地址15 $port=1000; //定義連接埠16 $socket=socket_create(af_inet,sock_stream,sol_tcp); //建立socket17 socket_clear_error($socket); //清空socket錯誤資訊18 socket_close($socket); //關閉socket19 20 21 22 $sockets=array(); //定義一個數組23 24 if(!socket_create_pair(af_unix,sock_stream,0,$sockets)) //如果socket沒有成功建立25 {26 echo socket_strerror(socket_last_error()); //輸出錯誤資訊27 }28 29 if(!socket_write($sockets[0],"abcdef123n",strlen("abcdef123n"))) //如果執行socket寫失敗30 {31 cho socket_strerror(socket_last_error()); //輸出錯誤資訊32 }33 if(!$data=socket_read($sockets[1],strlen("abcdef123n"),php_binary_read)) //如果讀取資訊失敗34 {35 echo socket_strerror(socket_last_error()); //輸出錯誤資訊36 }37 var_dump($data); //輸出socket資料資訊38 39 socket_close($sockets[0]); //關閉socket140 socket_close($sockets[1]); //關閉socket241 42 43 44 $ip="127.0.0.1"; //定義ip地址45 $port=1000; //定義連接埠46 $socket=socket_create(af_inet,sock_stream,sol_tcp); //建立socket47 socket_set_nonblock($socket); //設定不鎖定狀態48 socket_connect($socket,$ip,$port); //初始化串連49 socket_set_block($sock); //鎖定socket50 switch(socket_select($r=array($socket),$w=array($socket),$f=array($socket),5))51 {52 case 2:53 echo "串連被拒絕!n";54 break;55 case 1:56 echo "成功串連n";57 break;58 case 0:59 echo "連線逾時n";60 break;61 }62 63 64 65 66 class socketlistener extends socket67 {68 function __construct($port=null) //定義__construct方法69 {70 $this->stream=@socket_create_listen($port?$port:port); //開啟連接埠接受串連71 }72 function isactive() //定義isactive方法73 {74 if($this->stream) //如果有串連75 {76 return true; //返回真值77 }78 else //無串連79 {80 return false; //返回假值81 }82 }