基于.Net C# 通信开发-网络调试助手
基于.Net C# 通信开发-网络调试助手
1、概述

网络调试助手是集TCP/UDP服务端客户端一体的网络调试工具,可以帮助网络应用设计、开发、测试人员检查所开发的网络应用软硬件的数据收发状况,提高开发的速度,是TCP/UDP应用开发助手。
实全网络调试助手是基于.net C# Socket 开发的网络调试工具,实现TCP Server、TCP Client、UDP的连接通信,字符串和HEX数据收发功能。Socket即网络套接字,应用程序可以通过它发送或接收数据,可对其进行像对文件一样的打开、读写和关闭等操作。
2、UDP通信
UDP是一个简单的、面向数据报的无连接协议,提供快速但不一定可靠的传输服务。利用UDP协议可以使用广播的方式同时向子网上所有设备发送数据,也可以使用组播的方式同时向网络上的多少设备发送数据。UDP通信是不分服务端和客户端的,通信双方是对等的。编写基于UDP协议的应用程序,关键在于如何实现数据的发送和接收。
UDP通信主要功能包括:绑定本地端口、发送数据、接收数据。
2.1、绑定本地端口
对于接收流入的UDP服务器程序来说,必须将程序与本地系统中指定的UDP端口进行绑定。
//Socket与本地的一个终结点相关联
IPEndPoint ipep = new IPEndPoint(IPAddress.Any, 9050);
Socket socket = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);//定义一个Socket
socket.Bind(ipep);
2.2、发送数据
由于UDP协议不需要建立连接,因此可以在任何时间,直接向网络中的任意主机发送UDP数据。通过调用Socket对象的SendTo方法直接将数据发送到远程主机
//接收数据
EndPoint remote = new IPEndPoint(IPAddress.Any, 0);//定义要发送的计算机的地址
byte[] bytes = new byte[1024];
int count = socket.ReceiveFrom(bytes, ref remote);
Console.WriteLine(Encoding.ASCII.GetString(bytes, 0, count));
2.3、接收数据
Socket对象的ReceiveFrom方法能够在指定的本地IP地址和端口上接收数据,该方法带一个引用类型的EndPoint实例,并接收到的数据作为Byte数组返回。
//发送数据
string welcome = "Welcome to my test server!";
byte[] data = Encoding.ASCII.GetBytes(welcome);
socket.SendTo(data, data.Length, SocketFlags.None, remote);
3、结语
至此介绍完毕,本项目开源,源码地址:https://gitee.com/ShiQuanSoft/ShiQuan.SocketHelper
工具压缩包地址:https://gitee.com/ShiQuanSoft/ShiQuan.SocketHelper/attach_files/1048902/download/ShiQuan.SocketHelper.zip
不当之处,欢迎指正
基于.Net C# 通信开发-网络调试助手的更多相关文章
- 基于.Net C# 通信开发-串口调试助手
基于.Net C# 通信开发-串口调试助手 1.概述 串口调试助手,广泛应用于工控领域的数据监控.数据采集.数据分析等工作,可以帮助串口应用设计.开发.测试人员检查所开发的串口应用软硬件的数据收发状况 ...
- 基于socket开发网络调试助手
1.什么是Socket? 在计算机领域socket被翻译为套接字,它是计算机之间进行通信的一种方式,通过socket这种约定,一台计算机可以向另外一台计算机发送数据和接收数据. 2.Socket的本质 ...
- 利用ZYNQ SOC快速打开算法验证通路(2)——数据传输最简方案:网络调试助手+W5500协议栈芯片
在上一篇该系列博文中讲解了MATLAB待处理数据写入.bin二进制数据文件的过程,接下来需要将数据通过以太网发送到ZYNQ验证平台.之前了解过Xilinx公司面向DSP开发的System Genera ...
- 网络调试助手的使用 调试TCP,UDP
网络调试助手是集TCP/UDP服务端客户端一体的网络调试工具,可以帮助网络应用设计.开发.测试人员检查所开发的网络应用软硬件的数据收发状况,提高开发的速度,是TCP/UDP应用开发助手. 集成TCP/ ...
- TCP网络调试助手上提示错误:“1035 未知错误”的有效解决方法,本人实测确实可行
转:https://blog.csdn.net/jacket_/article/details/97415651 图片转载:https://blog.csdn.net/Alice_YCR/articl ...
- Qt编写网络调试助手(TCP客户端+TCP服务端+UDP服务端)终极版开源
时隔半年,对网络调试助手工具进行所有代码重写,这次目录结果整齐的一逼,代码整齐的一逼,非常完善了,打死也不再改版了.这次真的打死也不再改版了.旧版本1:http://www.qtcn.org/bbs/ ...
- android 基于wifi模块通信开发
这篇文章主要是我写完手机与wifi模块通信后所用来总结编写过程的文章,下面,我分几点来说一下编写的大概流程. 一.拉出按钮控件并设置它的点击事件 二.设置wifi权限 三.打开和关闭wifi 四.扫描 ...
- 49.Qt-网络编程之QTCPSocket和QTCPServer(实现简易网络调试助手)
在上章 48.QT-网络通信讲解1,我们学习了网络通信基础后,本章便来实战一篇.源码正在上传中,等下贴地址. PS:支持客户端和服务器,提供源码,并且服务器支持多客户端连入,并且可以指定与个别客户端发 ...
- Delphi - 采用第三方控件TMS、SPComm开发串口调试助手
第三方控件TMS.SPComm的下载与安装 盒子上可搜索关键字进行下载,TMS是.dpk文件,SPComm.pas文件: 安装方法自行百度,不做赘述. 通过TMS控件进行界面布局 界面预览: Delp ...
随机推荐
- C printf格式化输出
转载:https://blog.csdn.net/wucz122140729/article/details/98434702 格式化输出 格式化输出的函数有printf.sprintf和 ...
- Bean 工厂和 Application contexts 有什么区别?
Application contexts提供一种方法处理文本消息,一个通常的做法是加载文件资源(比如镜像),它们可以向注册为监听器的bean发布事件.另外,在容器或容器内的对象上执行的那些不得不由be ...
- Homebrew 卸载后重新安装mysql
1.卸载https://blog.csdn.net/liuxw1/article/details/81434005 https://jingyan.baidu.com/article/5553fa82 ...
- 解释 MySQL 外连接、内连接与自连接的区别 ?
先说什么是交叉连接: 交叉连接又叫笛卡尔积,它是指不使用任何条件,直接将一 个表的所有记录和另一个表中的所有记录一一匹配. 内连接 则是只有条件的交叉连接,根据某个条件筛选出符合条件的记录,不符合 条 ...
- 什么是 Busy spin?我们为什么要使用它?
Busy spin 是一种在不释放 CPU 的基础上等待事件的技术.它经常用于避免丢 失 CPU 缓存中的数据(如果线程先暂停,之后在其他 CPU 上运行就会丢失). 所以,如果你的工作要求低延迟,并 ...
- 在java web工程中实现登入和安全验证
登入页面的话我们之前做过直接可以拿来用翻一翻之前的博客就可以找到 在这个基础上添加验证功能 代码如下: 1 package security; 2 /** 3 * @author 鐜嬭儨鍗? 4 */ ...
- HTML 5的页面结构和HTML 4或早先的HTML有什么不同?
一个典型的Web页面有页眉(header),页脚(footer),导航(navigation),正文(central area)和侧栏(side bar).现在如果是在HTML 4中,HTML部分中的 ...
- 学习saltstack (三)
salt是一个新的基础平台管理工具,2011-02-20诞生,创造者Thoms SHatch,起名salt原因生活中常见.易记,使用saltstack.com原因这个域名没有被注册,Because s ...
- 快速注册service服务
一.通过SpringContextHolder的getBean来注册service服务 导入的包:import com.bessky.platform.context.SpringContextHol ...
- 决策树3:基尼指数--Gini index(CART)
既能做分类,又能做回归.分类:基尼值作为节点分类依据.回归:最小方差作为节点的依据. 节点越不纯,基尼值越大,熵值越大 pi表示在信息熵部分中有介绍,如下图中介绍 方差越小越好. 选择最小的那个0.3 ...