【发布时间】:2015-07-04 03:43:51
【问题描述】:
我有一个充当服务器(发送/接收)的 c++ 程序。我正在尝试连接到服务器正在使用的端口(比如 2222)。但是,我得到的消息是该端口已经绑定到。端口正在使用中。我想知道如何连接到这个开放端口(记住 c++ tcp 程序是闭源的)?如果需要,我可以更改 c++ 程序的源代码,但我不能只连接到它正在使用的端口,这似乎很奇怪。我想知道我是否需要在 tcp 程序中实现线程,以便发送和接收使用不同的端口?
【问题讨论】:
我有一个充当服务器(发送/接收)的 c++ 程序。我正在尝试连接到服务器正在使用的端口(比如 2222)。但是,我得到的消息是该端口已经绑定到。端口正在使用中。我想知道如何连接到这个开放端口(记住 c++ tcp 程序是闭源的)?如果需要,我可以更改 c++ 程序的源代码,但我不能只连接到它正在使用的端口,这似乎很奇怪。我想知道我是否需要在 tcp 程序中实现线程,以便发送和接收使用不同的端口?
【问题讨论】:
一个 TCP 连接涉及两个端口。服务器正在侦听的传入端口和客户端正在连接的传出端口。
它们不需要是同一个端口。
如果客户端和服务器都在同一台机器上运行,那么它们不能是同一个端口,因为该端口已经在使用(可能被服务器使用)。
如果是这种情况,请将客户端套接字绑定到端口 0,这基本上是说“给我任何可用端口”。
【讨论】: