結合在C++中,當我運行(紅色警報!僞代碼)雙UDP套接字在兩個不同的UDP套接字在Linux中
bind(s1, <local address:port1234>)
bind(s2, <local address:port1234>)
(s1
和s2
一起socket()
電話每次創建)我得到的問題。在Linux(Ubuntu)中,雙重綁定似乎很好。但是,在Windows中,雙重綁定失敗,並且第二次調用bind()
的地址返回!= 0
。
我想在我的Linux機器上獲得Windows上的行爲。我可以使用一些設置來獲得Linux上的「端口繁忙」嗎?
你能發表真實的代碼嗎?在你問我之前,我非常確定你*會*在第二次綁定時發生錯誤。 – 2010-03-05 04:41:58
我也這麼認爲,所以我測試了它。在socket()調用之後,第二個bind()到同一個端口將返回EADDRINUSE。 – msw 2010-03-05 04:47:35