目前在MESH中,中心節(jié)點(diǎn)連續(xù)向14個(gè)普通節(jié)點(diǎn)發(fā)送MSG,會(huì)出現(xiàn)此錯(cuò)誤,請(qǐng)問這是什么問題?
我想知道返回的錯(cuò)誤對(duì)應(yīng)的具體錯(cuò)誤該去哪里查看,有沒有專門的資料,謝謝
目前在MESH中,中心節(jié)點(diǎn)連續(xù)向14個(gè)普通節(jié)點(diǎn)發(fā)送MSG,會(huì)出現(xiàn)此錯(cuò)誤,請(qǐng)問這是什么問題?
我想知道返回的錯(cuò)誤對(duì)應(yīng)的具體錯(cuò)誤該去哪里查看,有沒有專門的資料,謝謝
您好,報(bào)錯(cuò)-7是節(jié)點(diǎn)發(fā)包頻次太多,緩存已滿。增大發(fā)包隊(duì)列,根據(jù)報(bào)錯(cuò)等待發(fā)包隊(duì)列空閑后重試,或者減小send接口函數(shù)中的發(fā)包次數(shù)都可以緩解發(fā)包壓力。
EVT包中有PDF手冊(cè),有部分錯(cuò)誤代碼的解釋。
更多處理方法參考博客:藍(lán)牙m(xù)esh組網(wǎng)實(shí)踐(常見調(diào)試問題整理) - JayWell - 博客園 (cnblogs.com)
好的,謝謝啦
這是寫的send代碼,單播每個(gè)設(shè)備,延時(shí)100ms。
我不是很理解 Mesh 中發(fā)送緩存與發(fā)送間隔是什么關(guān)系?;蛘哒f,協(xié)議是在什么情況下才會(huì)清空發(fā)送緩存。
我使用的默認(rèn)發(fā)送緩存定義,所以到第11個(gè)結(jié)點(diǎn)就好報(bào)緩存已滿的錯(cuò)誤。
這個(gè)函數(shù)再點(diǎn)進(jìn)去,看發(fā)送參數(shù)結(jié)構(gòu)體param,其中有發(fā)送次數(shù)和重傳間隔;每個(gè)發(fā)送次數(shù)都會(huì)占一個(gè)發(fā)包緩存;每隔一段重傳間隔,自動(dòng)重發(fā)一包tid相同但seq num不同的包。