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

485轉(zhuǎn)tcp通信控制設(shè)備,收發(fā)機(jī)制問(wèn)題請(qǐng)教

h0r1z0n

由于RS485是半雙工通信,必須一發(fā)一收,發(fā)一個(gè)等待接收在處理。
也可能由于設(shè)備干擾或者gprs模塊不穩(wěn)定的問(wèn)題,可能出現(xiàn)的問(wèn)題是發(fā)出去的包,收不到的話我就需要重發(fā)。
比如onConnect時(shí)候,我發(fā)送一個(gè)命令,get_uid獲取設(shè)備,等待返回?cái)?shù)據(jù),這時(shí)候需要等待onMessage返回處理數(shù)據(jù),但是如果出現(xiàn)設(shè)備問(wèn)題,我就無(wú)法接受數(shù)據(jù)無(wú)法在繼續(xù)下一步工作了,請(qǐng)問(wèn)使用workerman的什么機(jī)制處理比較好,主要實(shí)現(xiàn)的我發(fā)送的命令等待接收,如果超過(guò)10s接收不到,我再次重發(fā),三次都收不到,我就斷開(kāi)了等待客戶端重連。如果正常獲取uid之后,之后的執(zhí)行的機(jī)制也大體是這樣的,workerman使用什么方案能夠解決這個(gè)問(wèn)題,謝謝。

5532 1 0
1個(gè)回答

walkor 打賞

tcp自帶重發(fā)機(jī)制,并且保證數(shù)據(jù)包按順序發(fā)給對(duì)端。
所以服務(wù)端通過(guò)相同的連接重發(fā)數(shù)據(jù)是沒(méi)有意義的。

比如服務(wù)端通過(guò)同一個(gè)socket連接給設(shè)備發(fā)送了A1數(shù)據(jù)包,設(shè)備沒(méi)收到,服務(wù)端又通過(guò)這個(gè)連接重新發(fā)了A2,后來(lái)又發(fā)了A3,如果A1收不到,那么后面重發(fā)的A2 和 A3肯定收不到。

這種情況主動(dòng)權(quán)在客戶端,客戶端發(fā)起連接,發(fā)現(xiàn)一定時(shí)間沒(méi)收到服務(wù)端的數(shù)據(jù),可以選擇斷開(kāi)重新連接服務(wù)端

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