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的英文原義是 孔 ...