TcpClient可以连接到2个不同的端口吗?

时间:2015-11-19 15:05:09

标签: c# tcpclient

我的软件需要同时收听2个不同的端口,我需要这样的东西:

Client.Connect("127.0.0.1", 8001);
Client.Connect("127.0.0.1", 8002);

有可能吗?

1 个答案:

答案 0 :(得分:2)

没有1连接,TCP客户端是单独连接的,因此您需要为多个连接建立2端口连接。例如,在终端中,在打开第二个连接的新窗口之前,您不能有多个连接。

请在此处查看Borealid答案,给出一些清晰的观点,但还有更多内容。

简要说明:

对于有状态协议(如TCP),连接由4元组标识,包括源端口和目标端口以及源和目标IP地址。因此,如果两台不同的机器连接到第三台机器上的同一端口,则有两个不同的连接,因为源IP不同。如果同一台机器(或两台NAT后面或共享相同的IP地址)连接两次到一个远端,则连接由源端口(通常是随机的高编号端口)区分。