Tcp 如何获取连接到基于Rebol3的服务器的客户端的远程IP地址?
我正在玩并想知道:“如何获取连接到服务器的客户端的IP地址?” 有什么想法吗?我试图在服务器端探测客户机子端口,但它没有显示远程ipTcp 如何获取连接到基于Rebol3的服务器的客户端的远程IP地址?,tcp,rebol,rebol3,Tcp,Rebol,Rebol3,我正在玩并想知道:“如何获取连接到服务器的客户端的IP地址?” 有什么想法吗?我试图在服务器端探测客户机子端口,但它没有显示远程ip 有人能给我一些关于收集这些信息的提示吗。我知道它在Rebol2中是如何工作的,但我不熟悉Rebol3端口模型。system/standard/net info对象包括两个值—本地ip和远程ip。但我不确定他们是否已经准备好了 尝试一下system/standard/net info/remote ip,如果它不包含任何错误,我建议您提交错误报告。您可以通过调用客户
有人能给我一些关于收集这些信息的提示吗。我知道它在Rebol2中是如何工作的,但我不熟悉Rebol3端口模型。system/standard/net info对象包括两个值—本地ip和远程ip。但我不确定他们是否已经准备好了
尝试一下system/standard/net info/remote ip,如果它不包含任何错误,我建议您提交错误报告。您可以通过调用客户端
端口上的查询来获取该信息
,它将返回一个带有远程ip
和远程端口
字段的对象
下面是一个简单的示例来说明这一点,它使用一个简单的服务侦听端口9090上的连接,并打印连接到该服务的客户端的地址:
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