swoole創(chuàng)建UDP服務(wù)器的方法(代碼示例)
來(lái)源:不言
發(fā)布時(shí)間:2019-01-16 15:00:01
閱讀量:1741
本篇文章給大家?guī)?lái)的內(nèi)容是關(guān)于swoole創(chuàng)建UDP服務(wù)器的方法(代碼示例),有一定的參考價(jià)值,有需要的朋友可以參考一下,希望對(duì)你有所幫助。
udp_server.php
1 2 3 4 5 6 7 8 9 10 11 12 | <?php
$serv = new swoole_server( '127.0.0.1' , 9502, SWOOLE_PROCESS, SWOOLE_SOCK_UDP);
$serv ->on( 'Packet' , function ( $serv , $data , $clientInfo ) {
$serv ->sendto( $clientInfo [ 'address' ], $clientInfo [ 'port' ], 'Server ' . $data );
var_dump( $clientInfo );
});
$serv ->start();
|
UDP服務(wù)器沒(méi)有連接的概念,啟動(dòng)后客戶端無(wú)需connect,直接可以向server監(jiān)聽(tīng)的端口發(fā)送數(shù)據(jù)包。$clientInfo是客戶端的相關(guān)信息
1.啟動(dòng)服務(wù)
1 | $ /usr/local/php/bin/php udp_server.php
|
2.啟動(dòng)成功后,netstat查看
1 2 3 4 | $ ps aux | grep php
oosten 22944 0.0 2.2 314416 23220 pts/4 Sl+ 10:49 0:00 /usr/local/php/bin/php udp_server.php
oosten 22945 0.0 0.4 240032 4084 pts/4 S+ 10:49 0:00 /usr/local/php/bin/php udp_server.php
oosten 22947 0.0 0.7 244732 7148 pts/4 S+ 10:49 0:00 /usr/local/php/bin/php udp_server.php
|
3.nc連接服務(wù)器
1 2 | $ nc -u 127.0.0.1 9502 ###-u,使用udp傳輸協(xié)議hello
Server hello
|
4.客戶端發(fā)送數(shù)據(jù)包后,服務(wù)端打印$clientInfo數(shù)據(jù)
1 2 3 4 5 6 7 8 9 10 | array (4) {
[ "server_socket" ]=>
int(3)
[ "server_port" ]=>
int(9502)
[ "address" ]=>
string(9) "127.0.0.1"
[ "port" ]=>
int(40635)
}
|
5.結(jié)束進(jìn)程