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

news/2024/5/18 15:14:11 标签: c#, udp, 服务器

在这里插入图片描述

前言

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

、监听多个客户单

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

在这里插入图片描述

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

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


http://www.niftyadmin.cn/n/5351223.html

相关文章

面经基础版案例(路由,请求渲染,传参,组件缓存)

文章目录 1.案例效果分析2.配置一级路由(首页,详情)3.配置二级路由4.导航高亮效果5.首页的请求渲染6.传参(查询参数 $ 动态路由)7.详情页渲染8.组件缓存kepp-alive9.总结 1.案例效果分析 2.配置一级路由(首…

Fastbee物联网项目新手快速入门

一,前提条件 后端环境准备如下: 正式环境推荐硬件资源最低要求4c8G,硬盘40G。JDK 1.8.0_2xx (需要小版本号大于200) 。Maven3.6.3。(IDEA启动时使用IDEA默认自带的版本即可)。 启动fastbee之前,请先确定…

内网安全:IPC协议横向移动

目录 网络拓扑图 网络环境说明 IPC协议 域渗透实战 域内信息收集:域控主机&&用户&&凭据&&网络 IPC协议横向移动 - 执行命令 一. 建立IPC连接 二. 拷贝执行文件到目标机器 三. 添加计划任务 IPC协议横向移动 - CS插件 IPC协议横向…

80.网游逆向分析与插件开发-背包的获取-自动化助手显示物品数据1

内容参考于:易道云信息技术研究院VIP课 上一个内容:升级Notice类获得背包基址-CSDN博客 码云地址(ui显示角色数据 分支):https://gitee.com/dye_your_fingers/sro_-ex.git 码云版本号:3be017de38c50653b…

二进制安全虚拟机Protostar靶场(5)堆的简单介绍以及实战 heap0

前言 这是一个系列文章,之前已经介绍过一些二进制安全的基础知识,这里就不过多重复提及,不熟悉的同学可以去看看我之前写的文章 什么是堆 堆是动态内存分配的区域,程序在运行时用来分配内存。它与栈不同,栈用于静态…

服务攻防-开发组件安全JacksonFastJson各版本XStreamCVE环境复现

知识点 1、J2EE-组件Jackson-本地demo&CVE(数据处理) 2、J2EE-组件FastJson-本地demo&CVE(数据处理) 3、J2EE-组件XStream-本地demo&CVE(数据处理) 章节点: 1、目标判断-端口扫描…

C++力扣题目416--分割等和子集 1049--最后一块石头的重量II

416. 分割等和子集 力扣题目链接(opens new window) 题目难易:中等 给定一个只包含正整数的非空数组。是否可以将这个数组分割成两个子集,使得两个子集的元素和相等。 注意: 每个数组中的元素不会超过 100 数组的大小不会超过 200 示例 1: 输入: […

力扣日记1.28-【回溯算法篇】93. 复原 IP 地址

力扣日记:【回溯算法篇】93. 复原 IP 地址 日期:2023.1.28 参考:代码随想录、力扣 93. 复原 IP 地址 题目描述 难度:中等 有效 IP 地址 正好由四个整数(每个整数位于 0 到 255 之间组成,且不能含有前导 0&…