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

Gateway可以設(shè)置發(fā)送消息的最大包長嗎?

MyLover

能不能設(shè)置gateway給客戶端發(fā)送消息的最大包長呢?如果發(fā)送的數(shù)據(jù)超出這個設(shè)定值,則分包發(fā)送。ps:分包發(fā)送的話會不會將上次發(fā)送的一部分?jǐn)?shù)據(jù)覆蓋掉呢?

4186 6 0
6個回答

walkor 打賞

是否分包發(fā)送,分多大的包,組包都可以業(yè)務(wù)自己控制
比如
Gateway::sendToClient($client_id, $buffer); 前strlen($buffer)判斷下長度,如果超大需要分包就sub_str分成多個buffer,分多次發(fā)送。但是沒看出來這有什么意義...

  • 暫無評論
MyLover

主要是:如果一次發(fā)送的數(shù)據(jù)很大,超出了socket緩存大小,那樣的話不會出錯嗎?

  • 暫無評論
walkor 打賞

不超過應(yīng)用層緩沖區(qū)大小就不會,默認(rèn)1M,可以手動設(shè)置,參見 http://doc3.workerman.net

  • 暫無評論
MyLover

socket的緩存不是默認(rèn)8192的么?如果發(fā)送1M的包,socket會不會報錯的呀?還是說workerman有將socket的緩存區(qū)大小改到了1M或者更多?

  • 暫無評論
walkor 打賞

8192 是系統(tǒng)層面的socket緩沖區(qū),workerman在應(yīng)用層面增加了一層緩沖區(qū),socket緩沖區(qū)滿了會自動放在workerman在應(yīng)用層緩沖區(qū)中,如果應(yīng)用層緩沖區(qū)滿了會觸發(fā)onBufferFull,如果沒設(shè)置onBufferFull,就會觸發(fā)onError,詳情看手冊吧。

  • 暫無評論
MyLover

3Q~

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