国产+高潮+在线,国产 av 仑乱内谢,www国产亚洲精品久久,51国产偷自视频区视频,成人午夜精品网站在线观看

如何實現(xiàn)一個端口多種協(xié)議

Porygon

問題描述

最近在研究laravel-echo-server 其中在客戶端連接前, 客戶端會發(fā)送http協(xié)議的api請求sid,然后通過websocket連接到相同的地址。請問workerman能夠做到一個端口多個協(xié)議嗎?要怎么實現(xiàn)?

為此你搜索到了哪些方案及不適用的原因

在這里我找到了充電樁上行通信協(xié)議的問題和文檔,但是作者只是在表示 單端口單協(xié)議 多進程多端口

1677 1 6
1個回答

walkor 打賞

可以,比如同時支持http和websocket代碼類似

<?php
require_once __DIR__ . '/vendor/autoload.php';

use Workerman\Connection\TcpConnection;
use Workerman\Protocols\Http\Request;
use Workerman\Worker;
use Workerman\Protocols\Websocket;

$worker = new Worker('http://0.0.0.0:1234');
$worker->onMessage = function (TcpConnection $connection, $request) {
    if ($request instanceof Request) {
        if ($request->header('upgrade') == 'websocket') {
            $connection->protocol = Websocket::class;
            Websocket::input($request, $connection);
            return;
        }
        $connection->send('http');
        return;
    }
    $connection->send('websocket');
};
Worker::runAll();
  • Porygon 2023-08-10

    感謝感謝 我剛在csdn找到nodejs版本想著怎么改來著 作者牛逼!

  • 小W 2023-08-10

    請求代理?

  • 小W 2023-08-10

    使用nginx應該更方便

年代過于久遠,無法發(fā)表回答
??