Conecté dos computadoras portátiles A y B a la red de prueba de bitcoin. Luego conecté manualmente B a A usando addnode
bitcoin-client.
Fragmento de getpeerinfo
de B:
{
"id": 1,
"addr": "172.22.94.40:18333",
"addrlocal": "137.122.81.217:53818",
}
{
"id": 10,
"addr": "54.152.9.182:18333",
"services": "000000000000000
}
Algunas conexiones tienen un addrlocal
conjunto y su puerto 53818 se elige aleatoriamente. Busqué a través de la base de código para esto. Parece que fInbound
se establecerá una bandera en A. ¿Alguien puede explicar en términos simples lo que está sucediendo aquí?
Sé que un socket no se puede usar para escuchar y enviar datos al mismo tiempo. ¿Tiene que ver con eso?
Si se elige 53818 como puerto para enviar datos a A, entonces ¿por qué no ocurre tal elección aleatoria en la conexión del nodo inicial? (como 54.152.9.182 aquí en el ejemplo)
Supongo que addrlocal le muestra su punto final de la conexión, es decir, su dirección IP y número de puerto. Para todas las conexiones entrantes, sería lo mismo que la dirección IP y el puerto en el que está escuchando, por eso no se muestra. En tu caso lo más probable: 137.122.81.217:8333
No estoy seguro de qué sucedería si el servidor es multitarjeta.
Guhan S.
Janes
Guhan S.