將WCHNET_TCP_MSS由800修改到256后,web的login頁面正常,登錄進去的main頁面就刷不出來
您好,由于包含http的數(shù)據(jù)很大,當減小MSS后,會導致包含http的數(shù)據(jù)不能被一包發(fā)完,但是我們的websever沒有做這種分包接收的處理,導致無法正確識別http的請求,并做出應(yīng)答,如果你想做一些復(fù)雜的網(wǎng)頁,可以自己進行分包的處理。如果想節(jié)省RAM的話可以根據(jù)http內(nèi)容適當減小HTML_LEN的數(shù)值
感謝您的回復(fù)!
我在將MSS減小后,如果我直接輸入192.168.1.10/basic.html,網(wǎng)頁刷新的很快而且正確;
輸入192.168.1.10/main.html,網(wǎng)頁就刷新的很慢,判斷刷新main網(wǎng)頁的函數(shù)
發(fā)現(xiàn)WCHNET_SocketSend的返回值還是對的。
這種情況該怎么知道數(shù)據(jù)是真的發(fā)送成功了。
2.我將刷新main頁面的數(shù)據(jù)包分開發(fā)送,每次發(fā)送MSS大小。一共12包,連續(xù)發(fā)送10幾包后,下一包檢查返回值出錯。我將len的值更新,多次發(fā)送后還是發(fā)不出去。就是這一包數(shù)據(jù)一直發(fā)不出去,是什么原因?是發(fā)送緩沖區(qū)一直被占用了?這個緩沖區(qū)應(yīng)該怎么清。
? ? ? 您好,關(guān)于第一點,因為192.168.1.10/basic.html只包含一個表格,數(shù)據(jù)量小所以刷新的快,192.168.1.10/main.html包含很多圖片,數(shù)據(jù)量大所以刷新的慢,關(guān)于第二點,因為websever在發(fā)送數(shù)據(jù)后會斷開TCP連接,您連續(xù)發(fā)的話可能會在斷開和重新連接之間,導致還沒連接成功就開始發(fā)數(shù)據(jù),所以數(shù)據(jù)會發(fā)不出去,您這邊可以提供一下返回的錯誤碼和測試環(huán)境,等上班的時候,我們這邊會復(fù)現(xiàn)測試驗證一下,后續(xù)可以通過郵箱聯(lián)系我kx@wch.cn