2014-01-13 72 views
0

enter image description hereWCF REST TCP錯誤

http://i.stack.imgur.com/2jZOf.png

確定這裏是Wireshark的顯示問題的圖像。我打電話來自android的服務。它通常隨機發生,如果你讓設備一段時間。有時它有時會恢復。您需要重試幾次。似乎連接來自OkHttp池。是否有解決方案?我試過https://stackoverflow.com/a/2475155,但沒有幫助。任何想法如何解決它?注意:其他客戶端在這些tcp重新傳輸期間工作正常。

回答

1

它看起來像連接池沒有足夠積極地超時錯誤連接。您會看到性能下降,但您可以嘗試禁用OkHttp的連接池。把它放在你的代碼的某處,將空閒時間縮短到5秒

System.setProperty("http.keepAliveDuration", "5000"); 

我很想幫你解決這個問題。我的猜測是服務器正在斷開連接,但設備沒有跟蹤該連接,因此池中的連接失敗。

+0

是的,我的猜測是這樣的。然而,使用遠程服務器,這沒有發生。我嘗試使用較低的tcp keepalive沒有那個屬性,它堅持了1-2秒max.Wowever wifi連接是不可靠的,如果發生這種情況?退化是巨大的,在ios上沒有這個問題。奇怪的是,它發生在我的本地服務器。它已經是5000 – GorillaApe

+0

我設置keepalive在tcp級別1000毫秒,似乎現在工作 – GorillaApe