1、软件UI测试界面

2、创建Config.ini配置文件

[系统参数]
本地UDP地址=192.168.124.4
本地UDP端口=7788
目标控制器IP地址=192.168.124.255
目标控制器端口号=6666

3、创建全局变量

        IniFile ini = new IniFile("./Config.ini");bool isUdpConnected = false;static Socket client;Thread threadRecv;string recv;string LocalIp = "192.168.1.25";int LocalPort = 1000;string TargetIp = "192.168.1.255";int TargetPort = 10000;

4、添加UdpForm_Load事件程序

        private void UdpForm_Load(object sender, EventArgs e){try{LocalIp = ini.IniReadValue("系统参数", "本地UDP地址");LocalPort = int.Parse(ini.IniReadValue("系统参数", "本地UDP端口"));TargetIp = ini.IniReadValue("系统参数", "目标控制器IP地址");TargetPort = int.Parse(ini.IniReadValue("系统参数", "目标控制器端口号"));txtLocalIp.Text = LocalIp;txtLocalPort.Text = LocalPort.ToString();txtTargetIp.Text = TargetIp;txtTargetPort.Text = TargetPort.ToString();client = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);client.Bind(new IPEndPoint(IPAddress.Parse(LocalIp), LocalPort));Thread.Sleep(50);txtUdpState.Text = "本地Udp创建成功";isUdpConnected = true;}catch{txtUdpState.Text = "本地Udp创建失败";isUdpConnected = false;}threadRecv = new Thread(ReciveMsg);threadRecv.Start();timer1.Start();}

5、创建线程ReciveMsg()处理函数

        /// <summary>/// 接收发送给本机ip对应端口号的数据报/// </summary>void ReciveMsg(){while (true){if(isUdpConnected){EndPoint point = new IPEndPoint(IPAddress.Any, 0);//用来保存发送方的ip和端口号byte[] buffer = new byte[1024];int length = client.ReceiveFrom(buffer, ref point);//接收数据报if(length>0){//显示对方ip地址和端口号string fromIp = point.ToString();recv += fromIp;recv += "\r\n";//显示发送时间string sTime = DateTime.Now.ToString();recv += sTime;recv += ":";}recv += Encoding.UTF8.GetString(buffer, 0, length);recv += "\r\n";/*EndPoint point = new IPEndPoint(IPAddress.Any, 0);//用来保存发送方的ip和端口号byte[] buffer = new byte[1024];int length = client.ReceiveFrom(buffer, ref point);//接收数据报recv += Encoding.UTF8.GetString(buffer, 0, length);                    recv += "\r\n";//txtReciv.Text += recv;*/ }}}

6、添加btnSend_Click按钮事件程序

        private void btnSend_Click(object sender, EventArgs e){try{UdpSend(txtSend.Text, TargetIp, TargetPort);}catch{}}

7、封装UdpSend方法

        /// <summary>/// 本地Udp对外单播/// </summary>/// <param name="strSend"></param>/// <param name="ip"></param>/// <param name="port"></param>private void UdpSend(string strSend, string ip, int port){try{if (isUdpConnected){string targetIp = ip;//int targetPort = int.Parse(port);EndPoint point = new IPEndPoint(IPAddress.Parse(targetIp), port);string msg = strSend;client.SendTo(Encoding.UTF8.GetBytes(msg), point);}}catch { }}

8、关闭程序,关闭创建的所有线程

        private void UdpForm_FormClosing(object sender, FormClosingEventArgs e){System.Environment.Exit(0);         //强制关闭所有线程            }

下载连接

https://download.csdn.net/download/panjinliang066333/85567657

C# Udp测试工具开发相关推荐

  1. 基于Java实现的Web服务器与测试工具开发

    资源下载地址:https://download.csdn.net/download/sheziqiong/85706486 资源下载地址:https://download.csdn.net/downl ...

  2. 测试工具开发手把手教程

    基本介绍 语言:java 优势: 语法简单,可以快速上手 大部分接口的开发语言是java,部分开发代码可以复用,比如网关加密 公司开发部署环境成熟,可以直接使用 Java功能强大 框架:springb ...

  3. 自动化渗透测试工具开发实践

    0x00 From重剑无锋:https://github.com/TideSec/Papers 0x01 前言 为了提高安全服务项目的检测效率.规范性.全面性,Tide安全团队结合在渗透测试行业的经验 ...

  4. 最简单测试工具开发教程(有手就行)

    测试脚本,相信任何一个正经测试都会写. 但是作为公司的测试达人,写了py脚本,然后分享出去,让别人去安装python,下载各种依赖,无疑是一件很low的事情. 常用的方式有2种: 1.写web,让别人 ...

  5. python测试工具开发面试宝典3web抓取

    2019独角兽企业重金招聘Python工程师标准>>> 用requests输出网站返回头 输出 'https://china-testing.github.io/' 的返回头 参考答 ...

  6. android程序劫持持程序,安卓activity劫持测试工具开发

    一.前言 在日常对Android apk安全测试过程中,有一个测试用例是界面劫持(activity劫持,安卓应用的界面是一层一层的,后启动的应用会在栈顶,显示在最前面),就是恶意apk可以不停枚举进程 ...

  7. python测试开发教程_python3测试工具开发快速入门教程

    现有的优秀python教程大多来自国外,但是翻译过来文章,有些丧失了原意.且现有的python3教程,很少有结合项目能快速上手.为此我们退出为零基础的初学者提供python入门教程(资深python使 ...

  8. python编写TCP和UDP测试工具

    工具介绍 通过python编写的TCP&UDP协议的客户端和服务端,支持IPV4和IPV6的网络环境,同时新增加客户端ip和端口绑定功能. client客户端 # coding=utf-8 & ...

  9. android怎么做ab测试工具,开发必读:网易专家解读Android ABTest 框架设计

    应用中不同的场景.设计方案,不经过测试,你永远不知道消费者会更偏好哪一种.面对随时可能变更的产品需求,开发人员如何才能在保证测试进程的同时,让工作也变得高效.省力? 本章内容,网易严选Android资 ...

  10. python3.7输出语句_python3测试工具开发快速入门教程7输入和输出

    python有多种输出方式:屏幕打印数据,或者写入文件. 格式化输出 我们有两种大相径庭地输出值方法:表达式语句* 和 print() 函数(第三种方法使用文件对象的write()方法,标准文件输出可 ...

最新文章

  1. tcp-ip协议详解二知识进阶
  2. 无名飞控c语言源码,stm32飞控
  3. kuka机器人股票代码_【内幕】溢价收购KUKA机器人 美的钱从哪来?
  4. 五、手动取消ajax请求 解决重复发送请求问题
  5. 看图说cnblogs-强大的SEO功能【有实例】
  6. 中livechart显示大数据_Servlet中利用jdbc加载显示数据
  7. 2009年高考作文------拉风篇
  8. 在Ubuntu 18.04上安装MongoDB
  9. 十天精通CSS3学习笔记 part3
  10. 如何写好周报并建立周报模板
  11. 360视频:二十面体投影ISP
  12. Contest2609 - 高级语言程序实践--第8次作业--计信A2107-2113
  13. win7登录密码破解
  14. 如何在命令行下用命令slmgr激活windows8系统
  15. Python全栈开发【基础-09】深浅拷贝+while循环
  16. flutter原生插件开发--IOS端
  17. 几个你需注意的数据库设计原则(新手必看)
  18. BZOJ 1123 Luogu P3469 [POI2008]BLO-Blockade 割点+乘法原理
  19. 股票交易一点感悟和程序化交易实战
  20. 【Altium Designer21】DRC规则检查、错误、设置简析

热门文章

  1. 用VBA制作Excel单选框和多选框
  2. 树莓派无法打开摄像头模块,无法识别摄像头
  3. mtk2503 新增物联网卡apn
  4. 车辆模型-跟踪误差模型
  5. 十六进制的字符对照表
  6. 文本聚类分析算法_集成聚类系列(三)图聚类算法详解
  7. 计算机考研数学一大纲2016,2016考研大纲:计算机专业
  8. ESP12F模组-USB转TTL模块-Arduino下载程序
  9. Navicat For Mysql软件注册机破解
  10. HTML5期末大作业:web课程设计“我的家乡”——四川成都(7页) HTML+CSS+JavaScript