swoole TCP UDP server
生活随笔
收集整理的這篇文章主要介紹了
swoole TCP UDP server
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
https://wiki.swoole.com/
<?php /** * Created by PhpStorm. * User: whitneywang * Date: 2018/4/20 * Time: 18:21 */ //創(chuàng)建Server對(duì)象,監(jiān)聽 127.0.0.1:9501端口 $serv = new swoole_server("127.0.0.1", 9501); $serv->set([ 'worker_num' => 8, //worker 進(jìn)程數(shù) 電好CPU 1-4 'max_request' => 2000,//參數(shù)表示worker進(jìn)程在處理完n次請(qǐng)求后結(jié)束運(yùn)行。manager會(huì)重新創(chuàng)建一個(gè)worker進(jìn)程。此選項(xiàng)用來防止worker進(jìn)程內(nèi)存溢出 ]); //監(jiān)聽連接進(jìn)入事件 是否連接成功 //$fd 客戶端連接到服務(wù)端的唯一標(biāo)識(shí) //$reactor_id 線程ID $serv->on('connect', function ($serv, $fd, $reactor_id) { echo "Client: ".$fd .$reactor_id."-Connect.\n"; }); //監(jiān)聽數(shù)據(jù)接收事件 客戶端發(fā)過來的數(shù)據(jù) //$from_id 進(jìn)程數(shù) $serv->on('receive', function ($serv, $fd, $from_id, $data) { //向客戶端發(fā)數(shù)據(jù) $serv->send($fd, "Server: ".$data .$from_id); }); //監(jiān)聽連接關(guān)閉事件 $serv->on('close', function ($serv, $fd) { echo "Client: Close.\n"; }); //啟動(dòng)服務(wù)器 $serv->start();telnet 127.0.0.1 9501
Telnet協(xié)議是TCP/IP協(xié)議族中的一員,是Internet遠(yuǎn)程登陸服務(wù)的標(biāo)準(zhǔn)協(xié)議和主要方式。它為用戶提供了在本地計(jì)算機(jī)上完成遠(yuǎn)程主機(jī)工作的能力
https://wiki.swoole.com/wiki/page/458.html
有沒有遇到到ctrl+D和ctrl+C退不出來的
可以以下操作
按ctrl + ],會(huì)到telnet>提示符下,再輸入exit, quit,ctrl +D 其一即可退出。
UTP
<?php /** * Created by PhpStorm. * User: whitneywang * Date: 2018/4/20 * Time: 18:21 */ //創(chuàng)建Server對(duì)象,監(jiān)聽 127.0.0.1:9501端口 $serv = new swoole_server("127.0.0.1", 9502,SWOOLE_PROCESS, SWOOLE_SOCK_UDP); $serv->set([ 'worker_num' => 8, //worker 進(jìn)程數(shù) 電好CPU 1-4 'max_request' => 2000,//參數(shù)表示worker進(jìn)程在處理完n次請(qǐng)求后結(jié)束運(yùn)行。manager會(huì)重新創(chuàng)建一個(gè)worker進(jìn)程。此選項(xiàng)用來防止worker進(jìn)程內(nèi)存溢出 ]); //監(jiān)聽連接進(jìn)入事件 是否連接成功 //$fd 客戶端連接到服務(wù)端的唯一標(biāo)識(shí) //$reactor_id 線程ID $serv->on('connect', function ($serv, $fd, $reactor_id) { echo "Client: ".$fd .$reactor_id."-Connect.\n"; }); //監(jiān)聽數(shù)據(jù)接收事件 客戶端發(fā)過來的數(shù)據(jù) //$from_id 進(jìn)程數(shù) //監(jiān)聽數(shù)據(jù)接收事件 $serv->on('Packet', function ($serv, $data, $clientInfo) { $serv->sendto($clientInfo['address'], $clientInfo['port'], "Server ".$data); var_dump($clientInfo); }); //監(jiān)聽連接關(guān)閉事件 $serv->on('close', function ($serv, $fd) { echo "Client: ".$fd."Close.\n"; }); //啟動(dòng)服務(wù)器 $serv->start(); //啟動(dòng)服務(wù) // //php udp_server.php //UDP服務(wù)器可以使用netcat -u 來連接測(cè)試 // //netcat -u 127.0.0.1 9502 //hello //Server: hello
總結(jié)
以上是生活随笔為你收集整理的swoole TCP UDP server的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 月入2万的10个小生意 可以考虑这几个
- 下一篇: swoole UDP TCP客户端