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

web服務(wù)器 http協(xié)議發(fā)送幾M數(shù)據(jù) 客戶端接受不完整

shuishangmu

最近開發(fā)過程中,接口調(diào)試時發(fā)現(xiàn)客戶端收到的數(shù)據(jù)總是不完整,追蹤代碼發(fā)現(xiàn)在TcpConnection.php中
$len = @fwrite($this->_socket, $send_buffer, 8192);

socket最大發(fā)送8192字節(jié),超出的部分就丟掉不發(fā)了,有什么辦法修改嗎?這是workerman的BUG嗎?

3798 1 0
1個回答

walkor 打賞

超過的部分會在緩沖區(qū)里,等socket可寫時繼續(xù)發(fā)送。
緩沖區(qū)默認(rèn)大小1M,緩沖區(qū)滿并且仍然發(fā)送數(shù)據(jù)則數(shù)據(jù)會被丟棄。
http://doc.workerman.net/worker/on-buffer-full.html
看下是不是因?yàn)榫彌_區(qū)滿了仍然寫導(dǎo)致

  • ocean 2019-01-13

    寫入大于8192的數(shù)據(jù),需要add,然后出現(xiàn) PHP Warning: event_set(): 'Array' is not a valid callback ,造成后面的數(shù)據(jù)沒有發(fā)送完
    Worker::$globalEvent->add($this->_socket, EventInterface::EV_WRITE, array($this, 'baseWrite'));

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