2011-05-12 240 views
2

Compact Framework的3.5
的Windows CE 6.0 R3
愛特梅爾基於BSP精簡框架連接到Web服務 - 如何使用源端口隨機化

情況:從單一的網關多臺設備連接到Web服務這是在防火牆後面。所有設備都使用相同的IP和源端口啓動連接。

問題:基本上一個新設備正試圖連接到Web服務,防火牆認爲它是現有連接,發送一個RST數據包。設備按順序遞增源端口,再次嘗試。如果有100個設備,那麼它就是100個RST,這需要很長時間。 (請參閱http://www.fuzeqna.com/sonicwallkb/consumer/kbdetail.asp?kbid=8013&formaction=catalert

根據該文章的解決方案是隨機化源端口。源端口如何確定以及如何設置它?我甚至不知道它在做什麼(CE,CF,BSP)。


編輯:
發現這個article about ServicePoint。在HttpWebRequest類的ServicePoint看起來很有希望,但規範說:

的Windows Mobile的Pocket PC的Windows Mobile的智能手機,Windows CE 平臺說明:直到請求是因爲 發送此屬性爲null 需要額外的網絡傳輸 。

回答

1

好的,所以問題似乎在winsock.dll。我們最終實現了Socket類的實例化並將其與Loopback端點綁定了一個隨機次數。