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

GatewayClient是通過TCP連接和發(fā)送消息的嗎

zhs227
  /**
    * 發(fā)送數(shù)據(jù)到網(wǎng)關(guān)
    * @param string $address
    * @param string $buffer
    */
   protected static function sendToGateway($address, $gateway_data)
   {
       // 有$businessWorker說明是workerman環(huán)境,使用$businessWorker發(fā)送數(shù)據(jù)
       if(self::$businessWorker)
       {
           if(!isset(self::$businessWorker->gatewayConnections))
           {
               return false;
           }
           return self::$businessWorker->gatewayConnections->send($gateway_data);
       }
       // 非workerman環(huán)境,使用udp發(fā)送數(shù)據(jù)
       $gateway_buffer = GatewayProtocol::encode($gateway_data);
       $client = stream_socket_client("tcp://$address", $errno, $errmsg);
       return strlen($gateway_buffer) == stream_socket_sendto($client, $gateway_buffer);
   }

代碼注釋里寫著使用UDP發(fā)送數(shù)據(jù) ,但從stream_socket_client的連接內(nèi)容來看是TCP的。
想了解的是這塊是寫錯了還是之前由UDP變?yōu)楝F(xiàn)在的TCP?

如果是后一種的話,用UDP有什么缺陷,要改為用TCP呢?UDP不應(yīng)該是開銷更小嗎?謝謝

4687 2 0
2個回答

zhs227

從代碼的提交記錄來看是因?yàn)?.0適配到2.0改為了TCP,想了解一下從UDP到TCP中間的這個故事。

  • 暫無評論
walkor 打賞

udp有包大小限制,導(dǎo)致GatewayClient1.0無法推送大于65k的數(shù)據(jù)。
目前GatewayWorker2.0 和GatewayClient2.0 都改用tcp了

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