php中socket的使用(重點參考)

2021-09-01 22:47:11 字數 2244 閱讀 4914

一、開啟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 ...