СОПУТСТВУЮЩЕГО POSTВ случае успешного соединения TCP между сервером и клиентом
Сообщения здесь In UNIX forum описывает
сервера будет продолжать listeninig на номере порта.
Сервер принимает клиентов
connect()
с использованиемaccept()
. Как только сервер принимает запрос клиента, ядро выделяет случайный номер порта для сервера для дальнейшихsend()
и , так как тот же номер порта на сервере не может использоваться для отправки, а также для прослушивания, а предыдущий порт все еще прослушивает новые соединения
ВОПРОС
у меня есть серверное приложение S
, который постоянно прослушивает порт 18333 (это на самом деле bitcoind
testnet
). Когда другой клиентский узел C
соединяется с ним, скажем, 53446 (случайный порт). Согласно вышеуказанному сообщению, S
сможет отправлять/получать данные «C» только с порта 53446.
Но когда я запускаю bitcoind
testnet
. Это прекрасно связывается с другим узлом только с одним соединением сокета в порту 18333, без необходимости другого для отправки/получения. Ниже приведен фрагмент, и я даже подтвердил это
bitcoin-cli -testnet -rpcport=16591 -datadir=/home/user/mytest/1/
{
"id": 1,
"addr": "178.32.61.149:18333"
}
Может ли кто-нибудь помочь мне понять, что правильно работает в соединении сокетов TCP?
Я не совсем уверен, что вы просите. Вы путаете исходные и целевые порты? – CodeCaster
Можете ли вы указать указатели на то, что должно произойти в простом клиент-серверном приложении? Возможно, тогда я постараюсь совладать с биткойном. –
Первый Google ударил по «порту назначения источника tcp»: http://stackoverflow.com/questions/21253474/source-port-vs-destination-port – CodeCaster