0

我们可以在连接客户端时指定服务器 IP/端口:

c = rpyc.connect("127.0.0.1",port=18812)

但是,我想知道是否有一种方法可以指定客户端将使用哪个端口,或者我们是否可以确定客户端每次尝试连接到服务器时将使用哪个端口。

如果在服务器上启用了日志记录,则可以识别:

INFO:MASTERSERVER/18812:server started on [127.0.0.1]:18812
INFO:MASTERSERVER/18812:accepted ('127.0.0.1', 62372) with fd 664
INFO:MASTERSERVER/18812:welcome ('127.0.0.1', 62372)
INFO:MASTERSERVER/18812:goodbye ('127.0.0.1', 62372)

但是,我想知道是否有办法从客户端获取此信息。

4

1 回答 1

0

这是实现要求的一种方法:

import rpyc
conn = rpyc.connect("localhost", 18812)
socket = conn._channel.stream.sock
print(socket.getsockname()) # what you are looking for
print(socket.getpeername()) # extra information

这将打印出:

('127.0.0.1', 50086)
('127.0.0.1', 18812)
于 2020-11-20T16:02:56.910 回答