一、開啟socket
phpinfo();檢視是否開啟了socket擴充套件,否則在php.ini中開啟。
二、伺服器端**的寫法
<?php
error_reporting(e_all);
set_time_limit(0);
//ob_implicit_flush();
$address = '127.0.0.1';
$port = 10005;
//建立埠
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);
?>
伺服器端需要在cli模式是執行,有可能cli模式下php.ini檔案載入的不一樣
可以像如下輸出
這時候在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 建立埠 建立乙個socke...
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 ...