php中Socket創(chuàng)建與監(jiān)聽實現(xiàn)方法
來源:易賢網(wǎng) 閱讀:1870 次 日期:2015-01-06 11:45:13
溫馨提示:易賢網(wǎng)小編為您整理了“php中Socket創(chuàng)建與監(jiān)聽實現(xiàn)方法”,方便廣大網(wǎng)友查閱!

本文實例講述了php中Socket創(chuàng)建與監(jiān)聽實現(xiàn)方法。分享給大家供大家參考。具體如下:

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

復制代碼 代碼如下:$ip="127.0.0.1"; //定義ip地址

$port=1000; //定義端口

$socket=socket_create(af_inet,sock_stream,sol_tcp); //創(chuàng)建socket

$bind=socket_bind($socket,$ip,$prot); //綁定一個socket

$listen=socket_listen($socket); //監(jiān)聽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); //創(chuàng)建socket

socket_clear_error($socket); //清空socket錯誤信息

socket_close($socket); //關閉socket

/*

*/

$sockets=array(); //定義一個數(shù)組

/*建立一對socket,并存儲在數(shù)組中*/

if(!socket_create_pair(af_unix,sock_stream,0,$sockets)) //如果socket沒有成功創(chuàng)建

{

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

}

/*使用創(chuàng)建的socket收發(fā)信息*/

if(!socket_write($sockets[0],"abcdef123n",strlen("abcdef123n"))) //如果執(zhí)行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數(shù)據(jù)信息

/*關閉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); //創(chuàng)建socket

socket_set_nonblock($socket); //設置不鎖定狀態(tài)

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監(jiān)聽類*/

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程序設計有所幫助。

更多信息請查看IT技術專欄

更多信息請查看網(wǎng)頁制作
易賢網(wǎng)手機網(wǎng)站地址:php中Socket創(chuàng)建與監(jiān)聽實現(xiàn)方法
由于各方面情況的不斷調整與變化,易賢網(wǎng)提供的所有考試信息和咨詢回復僅供參考,敬請考生以權威部門公布的正式信息和咨詢?yōu)闇剩?/div>

2025國考·省考課程試聽報名

  • 報班類型
  • 姓名
  • 手機號
  • 驗證碼
關于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 加入群交流 | 手機站點 | 投訴建議
工業(yè)和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網(wǎng)安備53010202001879號 人力資源服務許可證:(云)人服證字(2023)第0102001523號
聯(lián)系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關注公眾號:hfpxwx
咨詢QQ:526150442(9:00—18:00)版權所有:易賢網(wǎng)