国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > PHP > 正文

php 中操作tcp 與SOCKET函數實例

2024-05-04 21:58:25
字體:
來源:轉載
供稿:網友
  1. //創建socket服務 
  2. $c=stream_socket_server("tcp://127.0.0.1:1100"); 
  3. while(1) 
  4.   if(is_resource($a=stream_socket_accept($c))) 
  5.   { 
  6.     //do something time-consuming 
  7.     //獲取網絡socket名稱 
  8.     if(stream_socket_get_name($a,true)!==false) 
  9.     { 
  10.       fwrite($a,"regards form berlin"); 
  11.     } 
  12.   } 
  13.  
  14. // 
  15.  
  16. //創建兩個無區別的socket數據流連接 
  17. $sockets=stream_socket_pair(stream_pf_unix,stream_sock_stream,stream_ipproto_ip); 
  18. //創建子進程并返回其pid 
  19. $pid=pcntl_fork(); 
  20. if($pid==-1) 
  21.   //如果沒有子進程 
  22.   die('could not fork'); 
  23. else if($pid
  24.   /*父進程*/ 
  25.   fclose($sockets[0]); 
  26.   fwrite($sockets[1], "child pid: $pidn"); 
  27.   echo fgets($sockets[1]); 
  28.   fclose($sockets[1]); 
  29. else 
  30.   /*子進程*/ 
  31.   fclose($sockets[1]); 
  32.   fwrite($sockets[0], "message from childn"); 
  33.   echo fgets($sockets[0]); 
  34.   fclose($sockets[0]); 
  35.  
  36. // 
  37.  
  38. /*打開一個socket服務端*/ 
  39. $server=stream_socket_server('tcp://127.0.0.1:1234'); 
  40. /*接受一個連接*/ 
  41. $socket=stream_socket_accept($server); 
  42. /*獲取數據*/ 
  43. echo "received out-of-band:'".stream_socket_recvfrom($socket,1500,stream_oob)."'n"
  44. /*使用peek獲取數據*/ 
  45. echo "data:'".stream_socket_recvfrom($socket,1500,stream_peek)."'n"
  46. /*正常獲取數*/ 
  47. echo "data:'".stream_socket_recvfrom($socket,1500)."'n"
  48. /*關閉socket*/ 
  49. fclose($socket); 
  50. fclose($server); 
  51.  
  52. // 
  53.  
  54. /*打開一個socket客戶端*/ 
  55. $socket=stream_socket_client('tcp://127.0.0.1:1234'); 
  56. /*發送正常數據*/ 
  57. fwrite($socket,"normal data transmit."); 
  58. /*發送更多的數據*/ 
  59. stream_socket_sendto($socket,"out of band data.",stream_oob); 
  60. /*關閉socket*/ 
  61. fclose($socket); 
  62.  
  63. // 
  64.  
  65. //創建服務端 
  66. $socket=stream_socket_server("tcp://0.0.0.0:8000",$errno,$errstr); 
  67. //如果創建失敗 
  68. if(!$socket
  69.   echo "$errstr ($errno)<br />n"
  70. //如果創建成功 
  71. else 
  72.   //接受連接 
  73.   while($conn=stream_socket_accept($socket)) 
  74.   { 
  75.     //寫入數據 
  76.     fwrite($conn,'the local time is '.date('n/j/y g:i a')."n"); 
  77.     //關閉連接 
  78.     fclose($conn); 
  79.   } 
  80.   //關閉socket 
  81.   fclose($socket); 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 靖安县| 射洪县| 准格尔旗| 阿鲁科尔沁旗| 漯河市| 厦门市| 筠连县| 莒南县| 会泽县| 洛扎县| 京山县| 平定县| 仁寿县| 科尔| 革吉县| 古丈县| 阳朔县| 中牟县| 木兰县| 石柱| 永平县| 灌云县| 铜梁县| 喀什市| 长兴县| 康乐县| 闸北区| 鸡西市| 山东省| 荥经县| 稻城县| 防城港市| 巴塘县| 枣庄市| 山东| 遂平县| 新闻| 浪卡子县| 镇平县| 桂阳县| 德令哈市|