一、開啟socket
phpinfo();檢視是否開啟了socket擴充套件,否則在php.ini中開啟。
<?php伺服器端需要在cli模式是執行,有可能cli模式下php.ini檔案載入的不一樣error_reporting(e_all
);set_time_limit(0);
//ob_implicit_flush();
$address = '127.0.0.1';
$port = 10005;
//建立埠
//建立乙個socket識別符號,使用ipv4,可靠的tcp協議進行資料通訊
//建立socket識別符號失敗
if( ($sock = socket_create(af_inet, sock_stream, sol_tcp)) === false
) //
繫結if (socket_bind($sock, $address, $port) === false
) //
監聽if (socket_listen($sock, 5) === false
) do
//welcome 傳送到客戶端
$msg = "server send:welcome
"; socket_write(
$msgsock, $msg, strlen($msg
));
echo 'read client message\n';
$buf = socket_read($msgsock, 8192);
$talkback = "received message:$buf\n";
echo
$talkback
;
if (false === socket_write($msgsock, $talkback, strlen($talkback
)))
else
socket_close(
$msgsock
);}
while(true
);//
關閉socket
socket_close($sock
);?>
可以像如下輸出
這時候在zhoxh目錄下就有個tem.text檔案。檢視 configuration file (php.ini) path => c:\windows 。不是我的php.ini 檔案,這說明呼叫的php.ini檔案時錯誤的。這時候我們要指定php.ini檔案命令如下
注意的是我的php可以直接執行時配置了環境變數。
三、客戶端
執行結果:
server:
php中socket的使用(重點參考)
一 開啟socket phpinfo 檢視是否開啟了socket擴充套件,否則在php.ini中開啟。二 伺服器端 的寫法 error reporting e all set time limit 0 ob implicit flush address 127.0.0.1 port 10005 建立...
php中socket的使用(重點參考)
一 開啟socket phpinfo 檢視是否開啟了socket擴充套件,否則在php.ini中開啟。二 伺服器端 的寫法 error reporting e all set time limit 0 ob implicit flush address 127.0.0.1 port 10005 建立...
php中socket的執行
服務端 確保在連線客戶端時不會超時 set time limit 0 ip 127.0.0.1 port 1234 socket通訊整個過程 socket create socket bind socket listen socket accept socket read socket write ...