我已經設置了TCP/IP客戶端/服務器連接,每次請求被交換時都會打開和關閉連接。它完美的工作;客戶端應用程序打開連接,發送請求並等待。服務器應用程序收到請求後會生成一個響應並將其發回並關閉連接。 Cient和服務器應用程序可以完成數百次。在TCP/IP連接上設置源端口/ IP
現在我試圖進入下一步:設置源IP地址和端口。
該代碼應該可以在Linux和Windows上運行,所以SO_BINDTODEVICE不存在問題,因爲它僅在Linux/Unix上受支持。
我試圖綁定客戶端套接字上的源端口和ANYADRR。它有效......一段時間。最終它宣佈錯誤10038.我通過互聯網閱讀了幾篇文章,但沒有明確的答案......源IP的選擇仍不清楚。
請注意,我也在同一個庫(無連接UDP通信模式)上有一個UNICAST和MULTICAST模式,一個發送者和接收者,並且我能夠在多播模式UNICAST I上設置源端口/ IP還沒有嘗試。
無論如何,任何人都知道任何可能的幫助?我正在使用WinSock 2.2並試圖儘可能多的平臺indemendent。
爲什麼你需要控制源端口?這通常是一個非常糟糕的主意。 – EJP 2012-07-28 03:06:40