Я подключил два ноутбука A и B к тестовой сети биткойнов. Затем я вручную подключил B к A, используя addnode
биткойн-клиент.
Фрагмент getpeerinfo
из Б:
{
"id": 1,
"addr": "172.22.94.40:18333",
"addrlocal": "137.122.81.217:53818",
}
{
"id": 10,
"addr": "54.152.9.182:18333",
"services": "000000000000000
}
Некоторое соединение имеет addrlocal
набор, и его порт 53818 выбирается случайным образом. Я искал кодовую базу для этого. Похоже fInbound
, в A будет установлен какой-то флаг. Кто-нибудь может простыми словами объяснить, что здесь происходит?
Я знаю, что сокет нельзя использовать для прослушивания и отправки данных одновременно. Это связано с этим?
Если 53818 выбран в качестве порта для отправки данных в A, то почему такого случайного выбора не происходит при подключении к начальному узлу? (например, 54.152.9.182 здесь, в примере)
Я предполагаю, что addrlocal показывает вам вашу конечную точку соединения, то есть ваш IP-адрес и номер порта. Для всех входящих подключений это будет то же самое, что IP-адрес и порт, который вы прослушиваете, поэтому он не отображается. В вашем случае скорее всего: 137.122.81.217:8333
Я не уверен, что произойдет, если сервер будет многосетевым.
Гухан С
Яннес
Гухан С