C# 套接字编程中单个客户端的多个端口

C# 套接字编程中单个客户端的多个端口,c#,C#,我们可以将多个端口分配给单个客户端吗。 一个端口用于发送数据,另一个端口用于接收同一客户端的数据? 是否可以使用套接字通信 如果可能的话,我们如何在C#socket编程中实现呢?通常不,单个TcpClient侦听单个本地端口,但请记住它是双向的,因此通常不需要像这样分离通信通道 如果您想提供另一个接收通道,则可以创建一个绑定到您想要接收的任何IP/端口的TcpListener,并让客户端将侦听器绑定详细信息发送到另一端,以便他们知道要连接到什么 另外请注意,设置本地侦听端点可能会遇到NAT、防火

我们可以将多个端口分配给单个客户端吗。 一个端口用于发送数据,另一个端口用于接收同一客户端的数据? 是否可以使用套接字通信


如果可能的话,我们如何在C#socket编程中实现呢?

通常不,单个
TcpClient
侦听单个本地端口,但请记住它是双向的,因此通常不需要像这样分离通信通道

如果您想提供另一个接收通道,则可以创建一个绑定到您想要接收的任何IP/端口的
TcpListener
,并让客户端将侦听器绑定详细信息发送到另一端,以便他们知道要连接到什么


另外请注意,设置本地侦听端点可能会遇到NAT、防火墙和端口转发方面的问题。

@MitchWheat-下次不要再费心评论了,已标记。。是的,这是可能的,事实上,如果您连接到服务器上的端口80,服务器将发送回客户端上的另一个端口。这已经是TCP的一部分了。您希望实现什么-您已经可以在同一端口上发送/接收?FTP可以做到这一点。一个连接用于控制通信,另一个连接用于数据通信。这有意义吗?…这取决于你的架构!但是请记住,每个端口都需要自己的TcpClient/TcpListener。