Здравствуйте, Nikolay_Ch, Вы писали:
N_C>Здравствуйте, elw00d, Вы писали:
E>>Допустим есть клиент на TCP сокетах, он подключается к какому-то серверу. У клиенского сокета есть локальный порт, например 52042. После того как этот клиент приконнектился, пробуем на этой же (клиентской) машине поднять какой-нибудь TCP сервер, забиндив его на тот же самый порт 52042. Он поднимается и корректно работает (работает на windows и на linux). Dопрос — какого фига ? Есть предположение что эфемерные порты можно юзать в качестве listening, но вот реального подтверждения не смог найти. Может быть, кто-то в курсе этой темы и может сказать точно ?
N_C>В можно код клиента посмотреть? Что-то сомнения у меня, что это работает в Windows...
Используем netcat
http://ru.wikipedia.org/wiki/Netcat (для windows можно скачать тут:
http://www.securityfocus.com/tools/139)
сервер: nc -l -s 127.0.0.1 -p 10000 -v
клиент: nc 127.0.0.1 10000
(смотрим ephemeral port — например, 49143)
сервер: nc -l -s 127.0.0.1 -p 49143 -v
клиент: nc 127.0.0.1 49143
всё работает