一開始對socket不太理解,做起東西很模糊,後來做過定位請求的專案,對socket的理解更清楚了。
貼一下示例**:
server端
<?php
//確保在連線客戶端時不會超時
set_time_limit(0);
//設定ip和埠號
$address='127.0.0.1';
$port=2009; //除錯的時候,可以多換埠來測試程式!
//建立乙個socket
if(($sock=socket_create(af_inet,sock_stream,sol_tcp))<0)
//繫結到socket埠
if(($ret=socket_bind($sock,$address,$port))<0)
//開始監聽
if(($ret=socket_listen($sock,4))<0)
do //發到客戶端
$msg ="歡迎進入伺服器!
";socket_write($msgsock, $msg, strlen($msg));
echo "讀取客戶端發來的資訊
";$buf = socket_read($msgsock,8192);
$talkback = "收到的資訊:$buf
";echo $talkback;
/* if(socket_write($msgsock, $talkback, strlen($talkback))<0)
else
*///echo $buf;
socket_close($msgsock);
} while (true);
socket_close($sock);
?>
client端
<?php
error_reporting(e_all);
set_time_limit(0);
echo "\n";
$service_port = 2009;
$address = "127.0.0.1";
$socket = socket_create(af_inet, sock_stream, sol_tcp);
if ($socket < 0)
else
echo "試圖連線 '$address' 埠 '$service_port'...
";$result = socket_connect($socket, $address, $service_port);
if ($result < 0)
else
$in = "hello\r\n";
$in .= "我是chester\r\n";
$out = '';
$out1='';
if(!socket_write($socket, $in, strlen($in)))
else
while($out = socket_read($socket, 8192))
echo "關閉socket...
";socket_close($socket);
echo "關閉ok
";?>
先執行server.php
再執行client.php
ps:請參看 php 手冊對應的章節:
sockets
PHP socket 網路程式設計例項
一開始對socket不太理解,做起東西很模糊,後來做過定位請求的專案,對socket的理解更清楚了。貼一下示例 server端 php 確保在連線客戶端時不會超時 set time limit 0 設定ip和埠號 address 127.0.0.1 port 2009 除錯的時候,可以多換埠來測試程...
PHP socket 網路程式設計例項
如果你對socket理解太模糊,可以做做定位請求的專案,以下是我的經驗的結晶,希望對大家有幫助 php 確保在連線客戶端時不會超時 set time limit 0 設定ip和埠號 address 127.0.0.1 port 2009 除錯的時候,可以多換埠來測試程式 建立乙個socket if ...
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...