服務端:
server.php
<?php//建立server物件,監聽 127.0.0.1:9501埠
$serv = new swoole_server("127.0.0.1", 9501);
//監聽連線進入事件
$serv->on('connect', function ($serv, $fd) );
//監聽資料接收事件
$serv->on('receive', function ($serv, $fd, $from_id, $data) );
//監聽連線關閉事件
$serv->on('close', function ($serv, $fd) );
//啟動伺服器
$serv->start();
?>
客戶端:
client.php
<?php//建立client物件,連線 127.0.0.1:9501埠
$client = new swoole_client(swoole_sock_tcp);
//判斷連線是否成功
if (!$client->connect('127.0.0.1', 9501, -1))
\n");
}//傳送資料接收事件
$client->send("hello world");
//輸出服務返回引數
echo $client->recv();
//連線關閉
$client->close();
?>
執行服務端
php server.php
執行客戶端
php client.php
如果遇到
error swsocket_bind (error 502): bind(127.0.0.1:9501) failed. error: address already in use [98]lsof -i:9501 //檢視9501對應的埠
kill 2294 //殺掉對應程序
kill -9 2294 //強制殺掉對應程序
下面有一些採用原生sockets建立連線的案例:
php socket通訊(tcp/udp)
php編寫tcp服務端和客戶端程式
TCP服務端和客戶端(1)
在陳述這個小例項之前,首先將mafile寫出來 makefile all client server all規則,他依賴於client和server規則 client tcp process.o tcp client.o client規則生成客戶端程式 gcc o client tcp proces...
TCP服務端和客戶端 8
在process.c的基礎上,繼續變換方案,將使用到readv和writev。並且使用到向量方式進行資料的傳送和接收。並在收到相應的訊號後釋放資源。include include include include include static struct iovec vs null,vc null ...
TCP服務端和客戶端 9
繼續對process.c 進行改進,用recvmsg和sendmsg來進行替換。將向量掛載到msghdr的msg iov的成員變數上進行操作。include include include include include include include static struct iovec vs ...