tcp socket,无法绑定到端口 - 正在使用中

时间:2015-04-25 13:56:03

标签: c++ tcp port

我有一个充当服务器的c ++程序(发送/接收)。我试图连接到服务器正在使用的端口(例如2222)。但是,我得到的消息是端口已经绑定。该端口正在使用中。我想知道如何连接到这个开放端口(请记住c ++ tcp程序是闭源的)?如果需要,我可以更改c ++程序的源代码,但似乎很奇怪我不能只连接到它使用的端口。我想我是否需要在tcp程序中实现线程,以便发送和接收使用不同的端口?

1 个答案:

答案 0 :(得分:3)

TCP连接涉及两个端口。服务器正在侦听的传入端口以及客户端连接的传出端口。

它们不需要是同一个端口。

如果客户端和服务器都在同一台机器上运行,那么它们不能是同一个端口,因为该端口已经在使用中(可能是服务器)。

如果是这种情况,请将客户端套接字绑定到端口0,这基本上就是“给我任何可用的端口”。