《PHP應用:php中Socket創建與監聽實現方法》要點:
本文介紹了PHP應用:php中Socket創建與監聽實現方法,希望對您有用。如果有疑問,可以聯系我們。
本文實例講述了php中Socket創建與監聽實現辦法.分享給大家供大家參考.具體如下:PHP應用
這里提供了在php中socket相關函數的一個實例,如創建Socket,接受一個socket連接 ,寫入一個Socket及初始化連接等操作,具體實例代碼如下:
PHP應用
代碼如下:
$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程序設計有所幫助.PHP應用
歡迎參與《PHP應用:php中Socket創建與監聽實現方法》討論,分享您的想法,維易PHP學院為您提供專業教程。
轉載請注明本頁網址:
http://www.snjht.com/jiaocheng/12831.html