基于.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

  不当之处,欢迎指正

最新文章

  1. post与get区别
  2. python简易爬虫来实现自动图片下载
  3. PHP-仿ecshop生成验证码
  4. 如何利用tomcat和cas实现单点登录(2):配置cas数据库验证和cas客户端配置
  5. SSH Secure Shell Client中文乱码的解决办法
  6. Spring MVC Junit4 单元測试 JunitTest
  7. LineCalc,一个基于Lex&Yacc的简单行计算工具
  8. Introduction to the Build Lifecycle
  9. JAVA实现Shell排序
  10. C++ Primer笔记4_静态成员类_IO库
  11. 对quartz定时任务的初步认识
  12. 创建DNS子域及view
  13. [LeetCode] Pyramid Transition Matrix 金字塔转变矩阵
  14. 数值计算 的bug:(理论)数学上等价,实际运行未必等价
  15. 在win上配置linux虚拟机图解
  16. WebService技术,服务端发布到Tomcat(使用Servlet发布),客户端使用axis2实现(二)
  17. mysql执行SQL语句时报错:[Err] 3 - Error writing file '/tmp/MYP0G1B8' (Errcode: 28 - No space left on device)
  18. CreateDialog()与CreateDialogIndrect()
  19. javascript excel
  20. 海康威视 - 萤石云开放平台 js 版

热门文章

  1. CentOS7防火墙开启与关闭以及开放6379,3306,80等端口
  2. 什么是 OAuth?
  3. ReentrantLock 源代码之我见
  4. JVM原理与深度调优
  5. 插值方法 - Newton多项式(非等距节点)
  6. 妙趣横生的HTML5 Page Visibility API
  7. 深入解析丨母婴App如何迅速收割2W新用户?
  8. TextView显示html样式的文字
  9. jquery 常用选择器和方法以及遍历(超详细)
  10. ps让图片背景透明