我有 2 个相同应用程序的实例,在不同的机器上,它们应该相互通信,其中没有一个是典型的服务器或客户端。
应用程序的两个实例都有一个 TcpListener,本地端口 = 8000。
一个应用程序实例(称为“A”)创建一个 TcpClient。现在,这个客户端不能有本地端口 = 8000,或者构造函数抛出套接字异常“每个套接字地址(协议/网络地址/端口)通常只允许一次使用”。
因此,我使用随机本地端口创建第一个客户端,并运行 Connect() 以连接其他应用程序实例“B”。
“B”使用 TcpListener.AcceptTcpClient() 接受连接,它返回一个可用于与“A”通信的 TcpClient。但是,这个 TcpClient 与 TcpListener 有相同的 IP 和端口!?当我在“A”上手动创建 TcpClient 时无法使用相同的端口,这怎么可能?实际上,我真的希望他们在两台机器上都使用与侦听器相同的端口...
那么,如何在“A”上创建与 TcpListener 相同端口的 TcpClient?