9999热视频三级毛片AV区|日韩欧美精品狼友观看视频|av在线成人免费AA片|日韩三级AV电影|久久亚洲私人国产精品vA|亚洲无码卡一卡二卡三|手机在线免费看黄色片|婷婷尹人在线婷婷五月手机网|99爱在线播放|欧美成人色情视频品

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

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

這里提供了在php中socket相關函數的一個實例,如創(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(); //定義一個數組

/*建立一對socket,并存儲在數組中*/

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數據信息

/*關閉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技術專欄

更多信息請查看網頁制作
關于我們 | 聯系我們 | 人才招聘 | 網站聲明 | 網站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 新媒體/短視頻平臺 | 手機站點

版權所有:易賢網