我正在使用socketConnection
,它将TCP端口号port
作为必需参数。现在,我如何确保为port
指定未使用的端口(我的进程是服务器)?
编辑:
我知道您可以指定port = 0
以便系统为您分配端口,但我无法随后找出给出的端口。
此外,socketConnection(..., server = T)
在客户端进程连接之前一直阻塞。但是客户端进程不知道要连接到哪个端口,因为服务器进程被阻止,并且无法确定它分配的端口号。赶上22!
答案 0 :(得分:2)
这取决于您是创建客户端套接字还是服务器套接字。
如果您正在创建客户端套接字,则port参数会包含 target 端口。因此,它必须是 正在使用的端口,作为服务器,否则您将获得连接拒绝。
如果您正在创建服务器套接字,通常您需要一个固定的端口号,如果它已在使用中,则表示您的服务器已在运行。如果您想为服务器提供随机系统分配的端口号,并且您还有其他方法可以告诉客户端端口号是什么,请指定零。