讓我們以一個簡單的例子開始---一個接收輸入字符串,處理并返回這個字符串到客戶端的TCP服務.下面是相應的代碼:
PHP 代碼:
<?
// 設置一些基本的變量
$host="192.168.1.99";
$port=1234;
// 設置超時時間
set_time_limit(0);
// 創建一個Socket
$socket=socket_create(AF_INET,SOCK_STREAM,0) or die("Could not create
socket/n");
//綁定Socket到端口
$result=socket_bind($socket,$host,$port) or die("Could not bind to
socket/n");
// 開始監聽鏈接
$result=socket_listen($socket,3) or die("Could not set up socket
listener/n");
// accept incoming connections
// 另一個Socket來處理通信
$spawn=socket_accept($socket) or die("Could not accept incoming
connection/n");
// 獲得客戶端的輸入
$input=socket_read($spawn,1024) or die("Could not read input/n");
// 清空輸入字符串
$input=trim($input);
//處理客戶端輸入并返回結果
$output=strrev($input) ."/n";
socket_write($spawn,$output,strlen($output)) or die("Could not write
output/n");
// 關閉sockets
socket_close($spawn);
socket_close($socket);
?>
<?
// 設置兩個變量
$host="192.168.1.99";
$port=1234;
?>
<?
// 超時時間
set_time_limit(0);
?>
<?
// 創建Socket
$socket=socket_create(AF_INET,SOCK_STREAM,0) or die("Could not create socket/n");
?>
<?
// 創建 socket
$socket=socket_create(AF_INET,SOCK_DGRAM,0) or die("Could not create socket/n");
?>
<?
// 綁定 socket to 指定地址和端口
$result=socket_bind($socket,$host,$port) or die("Could not bind to socket/n");
?>
<?
// 開始監聽連接
$result=socket_listen($socket,3) or die("Could not set up socket listener/n");
?>
<?
//接受請求鏈接
// 調用子socket 處理信息
$spawn=socket_accept($socket) or die("Could not accept incoming connection/n");
?>
<?
// 讀取客戶端輸入
$input=socket_read($spawn,1024) or die("Could not read input/n");
?>
<?
// 處理客戶端輸入并返回數據
$output=strrev($input) ."/n";
socket_write($spawn,$output,strlen($output)) or die("Could not write output/n");
?>
<?
// 關閉 sockets
socket_close($spawn);
socket_close($socket);
?>
新聞熱點
疑難解答
圖片精選