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

如何在websocket的基礎(chǔ)上自定義協(xié)議?

zhouciming

這個(gè)框架提供的自定義協(xié)議非常好用,但應(yīng)該是在tcp基礎(chǔ)上的自定義協(xié)議吧!
?
我現(xiàn)在的實(shí)際應(yīng)用場(chǎng)景是想在websocket基礎(chǔ)上再添加自定義的二進(jìn)制協(xié)議,所以在Protocols下自定義協(xié)議已經(jīng)無效了,不知道有沒有簡(jiǎn)便的方式實(shí)現(xiàn)我的這種需求呢?

5990 1 0
1個(gè)回答

six

在websocket協(xié)議基礎(chǔ)上包裝一層就好了吧

class MyWebSocket{
    public static function input($buffer, $connection) {
         return Websocket::input($buffer, $connection);
    }

    public static function encode($data, $connection) {
        $buffer = WebSockt::encode($data, $connection);
        return your_encode($buffer);
    }

    public static function decode($buffer, $connection) {
        $data = Websocket::decode($buffer, $connection);
        return your_decode($data);
    }
}
  • zhouciming 2018-10-13

    真想給你一萬個(gè)贊, 非常簡(jiǎn)潔明了, 正是我想要的, 太感謝了!

  • zhouciming 2018-10-15

    我實(shí)際應(yīng)用了下,發(fā)現(xiàn)你這個(gè)示例有不合適的地方,不知道對(duì)不對(duì),你看看!

    1. encode接口,應(yīng)該是先my_encode($data), 再調(diào)用Websocket::encode(),你覺得呢?
    2. input接口,那樣寫似乎有問題,我實(shí)際跑的時(shí)候,接收端未收到數(shù)據(jù), 因?yàn)檎{(diào)用Websocket::encode()后,返回的數(shù)據(jù)變?yōu)?'了!
  • six 2018-10-15

    encode應(yīng)該先your_encode($buffer),再WebSocket::encode

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