由於php7的公升級,環境不一樣了,很多關於socket的**出了點問題。然後需要在另乙個環境下測試php7.2下socket是否有問題,就寫了個簡單的例子:
根據網上查詢的資料寫了乙個很基本的server端與client端兩個php指令碼。
<?php
// server端 設定一些基本的變數 需要在server端執行此指令碼
$host = "10.0.20.252"; //服務端位址,為確保正確,此處不要寫 127.0.0.1,會報錯
$port = 8888;
// 設定超時時間
set_time_limit(0);
// 建立乙個socket
$commonprotocol = getprotobyname("tcp");
$socket = socket_create(af_inet, sock_stream, $commonprotocol);
//繫結socket到埠
$result = socket_bind($socket, $host, $port) or die(" socket_bind失敗!\n");
$ret = socket_listen($socket, 5);
if($ret)
echo("\n");
socket_close($spawn);
}}echo '成功';
<?php
// 客戶端 設定一些基本的變數
$host = "10.0.20.252";
$port = 8888;
// 設定超時時間
set_time_limit(0);
// 建立乙個socket
$commonprotocol = getprotobyname("tcp");
$socket = socket_create(af_inet, sock_stream, $commonprotocol);
if(!$socket) echo "socket_create 失敗!";
//連線到socket
$result = socket_connect($socket, $host, $port) or die(socket_strerror(socket_last_error($sock)));
if($result)
echo '成功';
簡單理解php的socket程式設計
php的 socket 程式設計算是比較難以理解的東西吧,不過,我們只要理解 socket 幾個函式之間的關係,以及它們所扮演的角色,那麼理解起來應該不是很難了,在筆者看來,socket 程式設計,其實就是建立乙個網路服務的客戶端和服務端,這和 mysql 的客戶端和服務端是一樣的,你只要理解 my...
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...
Socket的使用(簡單測試)
服務端 public class sockettest public sockettest int port public void startlisten catch exception ex 監聽客戶端連線 private void listenclientconnect catch excep...