В C++, когда я бегу (красное предупреждение! Псевдо-код)Двойной UDP сокет связывание в Linux
bind(s1, <local address:port1234>)
bind(s2, <local address:port1234>)
на двух разных UDP сокетов (s1
и s2
каждый созданный с помощью вызова socket()
) Я получаю проблемы , В Linux (Ubuntu) двойное связывание кажется прекрасным. Однако в Windows двойное связывание завершается сбоем, а вызов bind()
второй раз для того же адреса возвращает != 0
.
Я хочу получить поведение, которое у меня есть в Windows на моей машине Linux. Есть ли какие-то настройки, которые я могу работать, чтобы «заняться портом» в Linux?
Можете ли вы разместить реальный код? Пока вы не спросили меня, я был уверен, что вы * сделаете * получите ошибку во второй раз, когда вы привяжетесь. –
Я тоже так думал, поэтому я его протестировал. После вызова socket() второй bind() в тот же порт возвращает EADDRINUSE. – msw