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

首頁 > 開發 > PHP > 正文

php Socket 創建 監聽等實例

2024-05-04 21:48:53
字體:
來源:轉載
供稿:網友

本文章提供在php中socket相關函數的實例,如果創建Socket 接受一個socket連接 寫入一個Socket 初始化連接等操作,實例代碼如下:

  1. $ip="127.0.0.1";          //定義ip地址 
  2. $port=1000;           //定義端口 
  3. $socket=socket_create(af_inet,sock_stream,sol_tcp);  //創建socket 
  4. $bind=socket_bind($socket,$ip,$prot);      //綁定一個socket 
  5. $listen=socket_listen($socket);        //監聽socket 
  6. $msg=socket_accept($socket);        //接受一個socket連接 
  7. $welcome="歡迎來到php服務/n";       //定義字符串 
  8. socket_write($msg,$welcome,strlen($welcome));    //寫入一個socket 
  9. socket_close($socket);         //關閉socket 
  10.  
  11. */ 
  12.  
  13. $ip="127.0.0.1";          //定義ip地址 
  14. $port=1000;           //定義端口 
  15. $socket=socket_create(af_inet,sock_stream,sol_tcp);  //創建socket 
  16. socket_clear_error($socket);        //清空socket錯誤信息 
  17. socket_close($socket);         //關閉socket 
  18.  
  19.  
  20. /* 
  21.  
  22. */ 
  23. $sockets=array();           //定義一個數組 
  24. /*建立一對socket,并存儲在數組中*/ 
  25. if(!socket_create_pair(af_unix,sock_stream,0,$sockets))   //如果socket沒有成功創建 
  26.   echo socket_strerror(socket_last_error());      //輸出錯誤信息 
  27. /*使用創建的socket收發信息*/ 
  28. if(!socket_write($sockets[0],"abcdef123n",strlen("abcdef123n")))  //如果執行socket寫失敗 //開源代碼Vevb.com
  29.   cho socket_strerror(socket_last_error());      //輸出錯誤信息 
  30. if(!$data=socket_read($sockets[1],strlen("abcdef123n"),php_binary_read)) //如果讀取信息失敗 
  31.   echo socket_strerror(socket_last_error());      //輸出錯誤信息 
  32. var_dump($data);           //輸出socket數據信息 
  33. /*關閉socket*/ 
  34. socket_close($sockets[0]);         //關閉socket1 
  35. socket_close($sockets[1]);         //關閉socket2 
  36.  
  37. /* 
  38. */ 
  39.  
  40. $ip="127.0.0.1";          //定義ip地址 
  41. $port=1000;           //定義端口 
  42. $socket=socket_create(af_inet,sock_stream,sol_tcp);  //創建socket 
  43. socket_set_nonblock($socket);        //設置不鎖定狀態 
  44. socket_connect($socket,$ip,$port);       //初始化連接 
  45. socket_set_block($sock);         //鎖定socket 
  46. switch(socket_select($r=array($socket),$w=array($socket),$f=array($socket),5)) 
  47.   case 2: 
  48.     echo "連接被拒絕!n"
  49.     break
  50.   case 1: 
  51.     echo "成功連接n"
  52.     break
  53.   case 0: 
  54.     echo "連接超時n"
  55.     break
  56.  
  57. /* 
  58.  
  59. */ 
  60.  
  61. /*以下代碼定義一個socket監聽類*/ 
  62. class socketlistener extends socket 
  63.   function __construct($port=null)        //定義__construct方法 
  64.   { 
  65.     $this->stream=@socket_create_listen($port?$port:port);   //打開端口接受連接 
  66.   } 
  67.   function isactive()           //定義isactive方法 
  68.   { 
  69.     if($this->stream)           //如果有連接 
  70.     {//開源代碼Vevb.com 
  71.       return true;           //返回真值 
  72.     } 
  73.     else             //無連接 
  74.     { 
  75.       return false;           //返回假值 
  76.     } 
  77.   } 
  78. }

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 大埔县| 镇沅| 林芝县| 景宁| 穆棱市| 湘西| 邵阳县| 达州市| 灵丘县| 鲁甸县| 彰化市| 乌拉特中旗| 松潘县| 安陆市| 临夏县| 大竹县| 花莲市| 北流市| 教育| 锦屏县| 弋阳县| 武威市| 宝山区| 福安市| 大新县| 咸丰县| 河源市| 武宁县| 琼海市| 铜山县| 班戈县| 罗田县| 彰化市| 汤原县| 陆丰市| 瓮安县| 霍林郭勒市| 杂多县| 江川县| 江川县| 新蔡县|