Tcp 如何获取连接到基于Rebol3的服务器的客户端的远程IP地址?

Tcp 如何获取连接到基于Rebol3的服务器的客户端的远程IP地址?,tcp,rebol,rebol3,Tcp,Rebol,Rebol3,我正在玩并想知道:“如何获取连接到服务器的客户端的IP地址?” 有什么想法吗?我试图在服务器端探测客户机子端口,但它没有显示远程ip 有人能给我一些关于收集这些信息的提示吗。我知道它在Rebol2中是如何工作的,但我不熟悉Rebol3端口模型。system/standard/net info对象包括两个值—本地ip和远程ip。但我不确定他们是否已经准备好了 尝试一下system/standard/net info/remote ip,如果它不包含任何错误,我建议您提交错误报告。您可以通过调用客户

我正在玩并想知道:“如何获取连接到服务器的客户端的IP地址?”

有什么想法吗?我试图在服务器端探测客户机子端口,但它没有显示远程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