LINUX.ORG.RU
решено ФорумAdmin

использование одного и тоже src-ip:src-port для accept и connect

 


0

1

Есть странное желание - иметь несколько сокетов, забинденных на одну и ту же src-ip:src-port пару. Только один из сокетов в listen и accept, все остальные в connect. В чем с точки зрения TCP принципиальная невозможность этого? Повторяю, не с точки зрения OS (и address already in use), а с точки зрения TCP. На мой взгляд это ограничение только OS, так как established соединения всегда будут иметь разные src-ip:src-port <=> dst-ip:dst-port. Конфликтов быть не должно.


TCP - это потоковый протокол, описывающий передачу данных между двумя точками. Ему глубоко безразлично какие там еще сокеты вы параллельно используете.

Chumka ★★★
()
Ответ на: комментарий от Chumka

То есть это исключительно ограничение ОС и ничего более. В принципе с SO_REUSEPORT на FreeBSD bind на двух разных сокетах с одинаковым src_ip-src_port у меня прошел.

jopka3
() автор топика

http://stackoverflow.com/questions/14388706/socket-options-so-reuseaddr-and-s...

Prior to Linux 3.9, only the option SO_REUSEADDR existed. ... Linux 3.9 added the option SO_REUSEPORT to Linux as well. This option allows two (or more) sockets, TCP or UDP, listening (server) or non-listening (client), to be bound to exactly the same address and port combination as long as all sockets (including the very first one) had this flag set prior to binding them.

blind_oracle ★★★★★
()

что за бред?
listen() и accept() выполняются на серверной стороне, connect() — на клиентской
нормально вопрос задай, жопка3

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.