frame越过另一个frame_拥抱swoole(三)之用php实现一个混合服务器
生活随笔
收集整理的這篇文章主要介紹了
frame越过另一个frame_拥抱swoole(三)之用php实现一个混合服务器
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
混合服務(wù)器,就是可以同時(shí)支持http,websocket,tcp等的服務(wù)器,用swoole就是這么簡(jiǎn)單,分分鐘,就可以愉快地搞物聯(lián)網(wǎng)開發(fā)了,啥都支持,
我采用官方的例子,創(chuàng)建一個(gè)混合服務(wù)器,可以同時(shí)做http,tcp,websocket服務(wù),特別的方便。
#先創(chuàng)建一個(gè)websocket服務(wù)器$server = new SwooleWebSocketServer('127.0.0.1', 9501, SWOOLE_PROCESS);// http && http2,監(jiān)聽http請(qǐng)求$server->set(['open_http2_protocol' => true]);$server->on('request', function (SwooleHttpRequest $request, SwooleHttpResponse $response) { $response->end('Hello ' . $request->rawcontent());});// websocket,監(jiān)聽websocket請(qǐng)求$server->on('message', function (SwooleWebSocketServer $server, SwooleWebSocketFrame $frame) { $server->push($frame->fd, 'Hello ' . $frame->data);});// 監(jiān)聽tcp請(qǐng)求$tcp_server = $server->listen('127.0.0.1', 9502, SWOOLE_TCP);$tcp_server->set($options);$tcp_server->on('receive', function (SwooleServer $server, int $fd, int $reactor_id, string $data) { $server->send($fd, tcp_pack('Hello ' . tcp_unpack($data)));});$server->start();需要指明的是,這個(gè)混合服務(wù)器,請(qǐng)求的處理是共享worker的,比如你在進(jìn)行$server->set($options)時(shí)候,如果設(shè)置了worker的數(shù)量為4,那么這4個(gè)worker是同時(shí)處理,http,websocket,tcp服務(wù)請(qǐng)求的。
總結(jié)
以上是生活随笔為你收集整理的frame越过另一个frame_拥抱swoole(三)之用php实现一个混合服务器的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 嵌入式常见笔试题总结
- 下一篇: NEW:SlickEdit Pro 27