tcp - puertos - ¿Cómo obtengo la dirección IP remota de los clientes que se conectan a un servidor basado en Rebol3?
como saber en que puerto escucha sql server (2)
El objeto system / standard / net-info incluye dos valores: local-ip y remote-ip. No estoy seguro si eso se establece sin embargo.
Prueba system / standard / net-info / remote-ip y si no contiene ninguno, te sugiero enviar un informe de error.
Estoy jugando con estos scripts básicos de prueba TCP y me gustaría saber: "¿Cómo obtener la dirección IP de los clientes que se conectan al servidor?"
¿Algunas ideas? Traté de sondear una subport del cliente en el lado del servidor, pero no muestra la ip remota.
¿Alguien puede darme pistas sobre cómo recopilar esa información? Sé cómo funciona en Rebol2, pero no estoy familiarizado con el modelo de puerto Rebol3.
¡Puede obtener esa información llamando a QUERY en el port!
cliente port!
, que devolverá un objeto con campos remote-ip
y remote-port
.
Aquí hay un ejemplo simple que ilustra esto, con un servicio simple que escucha las conexiones en el puerto 9090 e imprime la dirección de los clientes que se conectan a ese servicio:
rebol []
awake-server: func [event /local client info] [
if event/type = ''accept [
client: first event/port
info: query client
print ajoin ["Client connected: " info/remote-ip ":" info/remote-port]
close client
]
]
serve: func [endpoint /local listen-port] [
listen-port: open endpoint
listen-port/awake: :awake-server
wait listen-port
]
serve tcp://:9090