我在 C#.net 中使用 UDP 异步套接字,我想让服务器和客户端在不同的端口进行通信以进行发送和接收,
- 服务器使用端口 A 发送到客户端并使用端口 B 从客户端接收
- 客户端使用端口 A 从服务器接收数据并使用端口 B 向服务器发送数据
可能吗??
我在 C#.net 中使用 UDP 异步套接字,我想让服务器和客户端在不同的端口进行通信以进行发送和接收,
可能吗??
在客户端将套接字绑定到端口 A,在客户端绑定到端口 B。就这么简单。服务器不应该真正知道 A,而是从它从客户端接收到的消息中获取它(使用类似ReceiveFrom
.
请记住,使用 UDP,客户端必须首先发送消息,否则它不是真正的客户端-服务器系统,而是更分布式的系统。
如果您使用 TCP 而不是 UDP 作为TCPClient的构造函数的一部分,您可以指定 希望传出连接使用的EndPoint 。
这正是它已经发生的方式。客户端的源端口是操作系统选择的随机端口。
这是不可能的,因为一个端点只包含一个IP 地址和一个端口号。您需要使用两个不同的套接字并与服务器建立两个连接才能使用端口 A 和端口 B。