R - 连接前如何确保TCP端口未使用?

时间:2014-02-16 21:40:51

标签: r sockets

我正在使用socketConnection,它将TCP端口号port作为必需参数。现在,我如何确保为port指定未使用的端口(我的进程是服务器)?

编辑:

我知道您可以指定port = 0以便系统为您分配端口,但我无法随后找出给出的端口。

此外,socketConnection(..., server = T)在客户端进程连接之前一直阻塞。但是客户端进程不知道要连接到哪个端口,因为服务器进程被阻止,并且无法确定它分配的端口号。赶上22!

1 个答案:

答案 0 :(得分:2)

这取决于您是创建客户端套接字还是服务器套接字。

  • 如果您正在创建客户端套接字,则port参数会包含 target 端口。因此,它必须是 正在使用的端口,作为服务器,否则您将获得连接拒绝。

  • 如果您正在创建服务器套接字,通常您需要一个固定的端口号,如果它已在使用中,则表示您的服务器已在运行。如果您想为服务器提供随机系统分配的端口号,并且您还有其他方法可以告诉客户端端口号是什么,请指定零。