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

首頁 > 開發 > PHP > 正文

php中Socket創建與監聽實現方法

2024-05-04 23:29:47
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了php中Socket創建與監聽實現方法,以實例形式較為詳細的分析了Socket的創建、連接、初始化及監聽等技巧,需要的朋友可以參考下
 
 

本文實例講述了php中Socket創建與監聽實現方法。分享給大家供大家參考。具體如下:

這里提供了在php中socket相關函數的一個實例,如創建Socket,接受一個socket連接 ,寫入一個Socket及初始化連接等操作,具體實例代碼如下:

復制代碼代碼如下:
$ip="127.0.0.1";          //定義ip地址 
$port=1000;           //定義端口 
$socket=socket_create(af_inet,sock_stream,sol_tcp);  //創建socket 
$bind=socket_bind($socket,$ip,$prot);      //綁定一個socket 
$listen=socket_listen($socket);        //監聽socket 
$msg=socket_accept($socket);        //接受一個socket連接 
$welcome="歡迎來到php服務/n";       //定義字符串 
socket_write($msg,$welcome,strlen($welcome));    //寫入一個socket 
socket_close($socket);         //關閉socket 
 
*/ 
 
$ip="127.0.0.1";          //定義ip地址 
$port=1000;           //定義端口 
$socket=socket_create(af_inet,sock_stream,sol_tcp);  //創建socket 
socket_clear_error($socket);        //清空socket錯誤信息 
socket_close($socket);         //關閉socket 
 
/* 
 
*/ 
$sockets=array();           //定義一個數組 
/*建立一對socket,并存儲在數組中*/ 
if(!socket_create_pair(af_unix,sock_stream,0,$sockets))   //如果socket沒有成功創建 

  echo socket_strerror(socket_last_error());      //輸出錯誤信息 

/*使用創建的socket收發信息*/ 
if(!socket_write($sockets[0],"abcdef123n",strlen("abcdef123n")))  //如果執行socket寫失敗

  cho socket_strerror(socket_last_error());      //輸出錯誤信息 

if(!$data=socket_read($sockets[1],strlen("abcdef123n"),php_binary_read)) //如果讀取信息失敗 

  echo socket_strerror(socket_last_error());      //輸出錯誤信息 

var_dump($data);           //輸出socket數據信息 
/*關閉socket*/ 
socket_close($sockets[0]);         //關閉socket1 
socket_close($sockets[1]);         //關閉socket2 
 
/* 
*/ 
 
$ip="127.0.0.1";          //定義ip地址 
$port=1000;           //定義端口 
$socket=socket_create(af_inet,sock_stream,sol_tcp);  //創建socket 
socket_set_nonblock($socket);        //設置不鎖定狀態 
socket_connect($socket,$ip,$port);       //初始化連接 
socket_set_block($sock);         //鎖定socket 
switch(socket_select($r=array($socket),$w=array($socket),$f=array($socket),5)) 

  case 2: 
    echo "連接被拒絕!n"; 
    break; 
  case 1: 
    echo "成功連接n"; 
    break; 
  case 0: 
    echo "連接超時n"; 
    break; 

 
/* 
 
*/ 
 
/*以下代碼定義一個socket監聽類*/ 
class socketlistener extends socket 

  function __construct($port=null)        //定義__construct方法 
  { 
    $this->stream=@socket_create_listen($port?$port:port);   //打開端口接受連接 
  } 
  function isactive()           //定義isactive方法 
  { 
    if($this->stream)           //如果有連接 
    {
      return true;           //返回真值 
    } 
    else             //無連接 
    { 
      return false;           //返回假值 
    } 
  } 
}

 

希望本文所述對大家的php程序設計有所幫助。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 南澳县| 郎溪县| 时尚| 宝丰县| 荣成市| 鹤壁市| 来安县| 阳泉市| 来宾市| 金塔县| 南城县| 谢通门县| 宁国市| 五大连池市| 即墨市| 横峰县| 房产| 奇台县| 绵阳市| 保德县| 大竹县| 铜山县| 泰和县| 米脂县| 江油市| 高尔夫| 鄂托克前旗| 黄大仙区| 高淳县| 滦平县| 萨迦县| 乌拉特中旗| 山阴县| 永顺县| 南涧| 安新县| 合肥市| 增城市| 阳东县| 合山市| 五河县|