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

自定義協(xié)議長(zhǎng)鏈接的問(wèn)題

jbking

自定義了一個(gè)通訊協(xié)議,在Gateway中使用,但是發(fā)生一個(gè)問(wèn)題,請(qǐng)指教:

看上去協(xié)議工作正常,而且相關(guān)消息處理過(guò)程也工作正常

客戶端會(huì)不停的向服務(wù)器發(fā)送心跳包,較長(zhǎng)一段時(shí)間后,出現(xiàn)了“failed to open stream: Too many open files ”的錯(cuò)誤警告

此時(shí)只有一個(gè)連接的

沒(méi)有數(shù)據(jù)庫(kù)或其他緩存操作

不知道,出現(xiàn)這種情況,我應(yīng)該從什么地方開(kāi)始找問(wèn)題

2948 3 0
3個(gè)回答

walkor 打賞

Too many open files ,
進(jìn)程打開(kāi)的文件句柄數(shù)超過(guò)系統(tǒng)設(shè)置,你的情況應(yīng)該是進(jìn)程打開(kāi)或者接受了很多socket鏈接。

如果你知道報(bào)這個(gè)錯(cuò)的進(jìn)程pid,通過(guò) lsof -nPp 進(jìn)程pid 查看進(jìn)程打開(kāi)了哪些文件句柄

另外linux系統(tǒng)默認(rèn)系統(tǒng)文件打開(kāi)數(shù)比較低,建議根據(jù)workerman手冊(cè)優(yōu)化下Linux內(nèi)核,否則無(wú)法承載大并發(fā)
http://doc3.workerman.net/appendices/kernel-optimization.html

  • 暫無(wú)評(píng)論
jbking

@walkor

我檢查是發(fā)現(xiàn),我自定義的協(xié)議中,如果收到的buffer長(zhǎng)度跟收到的消息長(zhǎng)度一樣時(shí),我直接return這個(gè)包的長(zhǎng)度了,對(duì)比websocket協(xié)議,發(fā)現(xiàn)正常接收數(shù)據(jù)時(shí),都是處理完decode后,return 0,不知道跟這個(gè)有沒(méi)有關(guān)系呢?

  • 暫無(wú)評(píng)論
walkor 打賞

return 長(zhǎng)度是正確的做法。
websocket協(xié)議比較特殊,有個(gè)握手過(guò)程,握手的包不需要處理,所以return 0了。這個(gè)你不用關(guān)心

  • 暫無(wú)評(píng)論
年代過(guò)于久遠(yuǎn),無(wú)法發(fā)表回答
??