PHP Socket程式設計小試

2021-10-25 09:23:38 字數 1453 閱讀 3301

php官方手冊 、php例項說明 socket通訊機制(

張映 )

對於php socket程式設計,一直感覺很陌生,今天特意了解了一下,根據資料做了個小例子,本地可以執行成功。

服務端:

<?php 

/** * server端

* @author flyer0126

* @since 2012/08/21

*/set_time_limit(0);

// 載入擴充套件庫

if (!extension_loaded('sockets')) else

}// 建立server端socket

$tcp = getprotobyname("tcp");

$socket = socket_create(af_inet, sock_stream, $tcp);

socket_bind($socket, "127.0.0.1", 20080); //繫結要監聽的埠

socket_listen($socket); //監聽埠

//初始化乙個資料,和客戶端通訊

$buffer = "connect ok";

while (true) else else

// 從客戶端取得資訊

while ($data = @socket_read($connection, 1024, php_normal_read))

} socket_close($connection);

//關閉 socket

printf("closed the socket\r\n");

}

客戶端:

<?php 

/** * client端

* @author flyer0126

* @since 2012/08/21

*/// 建立客戶端的socet連線

$socket = socket_create(af_inet, sock_stream, sol_tcp);

$connection = socket_connect($socket, '127.0.0.1', 20080); //連線伺服器端socket

while ($buffer = @socket_read($socket, 1024, php_normal_read)) else

//伺服器端收到資訊後,給於的回應資訊

while ($buffer = socket_read($socket, 1024, php_normal_read))

} }

執行server端,檢視埠20080已處於監聽狀態,另乙個命令提示符執行client端,接收處理資料正常。

服務端執行輸出:

客戶端執行輸出:

PHP SOCKET程式設計!

server.php php 確保在連線客戶端時不會超時 set time limit 0 設定ip和埠號 address 伺服器自己的ip port 埠號 建立乙個socket if sock socket create af inet sock stream sol tcp 0 繫結到socke...

php socket程式設計通訊

我們程式設計就是按這個順序的,請看下面的圖 建立乙個連線 socket socket create af inet,sock stream,sol tcp or die cannot create socket n 繫結socket到埠 result socket bind socket,host,...

PHP Socket 程式設計詳解

最近在做的專案有一項需要耗時任務在後台執行的功能,雖然php並不是非常適合做常駐後台的守護程序,但是由於專案主要 都是基於php實現,如 果執行在後台的守護程序改換別的語言會非常不方便。所以不可避免會涉及到web端和daemon部分的通訊,socket是乙個不錯的方式。socket的英文原義是 孔 ...