Возможно ли в TCP для разных процессов не использовать одно и то же исполняемое изображение (например, нет fork()
), чтобы использовать один и тот же порт на стороне клиента в Windows, Linux или OSX? Это связано с опциями сокета SO_REUSEADDR
и SO_REUSEPORT
с использованием setsockopt()
Я верю.TCP - возможно, для одного и того же порта на стороне клиента, который будет использоваться для разных соединений различными приложениями одновременно?
Насколько я читал, я считаю, что для одного и того же процесса/изображения это возможно, но я не нашел информации о нескольких процессах/изображениях. Я бы предположил, что это теоретически возможно, поскольку каждый сокет определяется 5-значным кортежем [IP_PROTO, src_ip: src_port, dst_ip: dst_port]. Поэтому я бы предположил, что до тех пор, пока несколько TCP-соединений, совместно использующих порт на стороне клиента, не будут подключены к одному и тому же dst_ip: dst_port, это теоретически возможно.
Я не хочу, но мне нужно знать, могут ли другие приложения делать это, поскольку я зависим от того, возможно ли это поведение. –
Итак, я должен понять, что это действительно возможно для разных приложений? –
Is * возможно *? Да, если все сокеты в одном порту используют SO_REUSEADDR'/'SO_REUSEPORT'. Возможно ли это? Нет. –