C# Socket通信从入门到精通(18)——单个异步UDP服务器监听多个客户端C#代码实现

C# Socket通信从入门到精通(18)——单个异步UDP服务器监听多个客户端C#代码实现_第1张图片

前言

我们在开发上位机通信程序的时候,有时候会遇到一个服务器需要同时与多个客户端进行Udp通信,并且为了保持程序运行的效率,需要采用异步通信的方式,比如等待接收数据的时候程序不能卡主,需要继续执行别的动作,比如控制轴的运动等,这时候同步程序就失效了,监听单个客户端的程序也失效了,所以就需要我们编写一个既具备与多个客户端通信的程序也具备异步通信功能的程序,本文以我编写的UdpServerAsync类为基础,详细介绍如何使用C#编写一个具备异步通信并且同时可监听多个客户端的udp通信程序。

、监听多个客户单

输入需要监听的IP地址以及端口号,由于本文中客户端和服务器都在一台电脑上,所以监听的IP地址是127.0.0.1,如果客户端和服务器不在同一台电脑上,则需要保证客户端和服务器电脑需要同属于一个网段,并且这里监听的IP地址输入的是服务器电脑的IP地址即可,本文测试时,监听的端口号是20。

C# Socket通信从入门到精通(18)——单个异步UDP服务器监听多个客户端C#代码实现_第2张图片

2、接收多个客户端发送的数据

为了能否接收到客户端的数据,首先使用TCP/UDP调试助手创建两个udp客户端,在创建udp客户端时输入的Ip地址是127.0.0.1,对方端口就是服务器端口20,本地端口一个是10000,一个是9999。然后使用端口

你可能感兴趣的:(c#,udp,服务器)