C# Udp测试工具开发
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测试工具开发相关推荐
- 基于Java实现的Web服务器与测试工具开发
资源下载地址:https://download.csdn.net/download/sheziqiong/85706486 资源下载地址:https://download.csdn.net/downl ...
- 测试工具开发手把手教程
基本介绍 语言:java 优势: 语法简单,可以快速上手 大部分接口的开发语言是java,部分开发代码可以复用,比如网关加密 公司开发部署环境成熟,可以直接使用 Java功能强大 框架:springb ...
- 自动化渗透测试工具开发实践
0x00 From重剑无锋:https://github.com/TideSec/Papers 0x01 前言 为了提高安全服务项目的检测效率.规范性.全面性,Tide安全团队结合在渗透测试行业的经验 ...
- 最简单测试工具开发教程(有手就行)
测试脚本,相信任何一个正经测试都会写. 但是作为公司的测试达人,写了py脚本,然后分享出去,让别人去安装python,下载各种依赖,无疑是一件很low的事情. 常用的方式有2种: 1.写web,让别人 ...
- python测试工具开发面试宝典3web抓取
2019独角兽企业重金招聘Python工程师标准>>> 用requests输出网站返回头 输出 'https://china-testing.github.io/' 的返回头 参考答 ...
- android程序劫持持程序,安卓activity劫持测试工具开发
一.前言 在日常对Android apk安全测试过程中,有一个测试用例是界面劫持(activity劫持,安卓应用的界面是一层一层的,后启动的应用会在栈顶,显示在最前面),就是恶意apk可以不停枚举进程 ...
- python测试开发教程_python3测试工具开发快速入门教程
现有的优秀python教程大多来自国外,但是翻译过来文章,有些丧失了原意.且现有的python3教程,很少有结合项目能快速上手.为此我们退出为零基础的初学者提供python入门教程(资深python使 ...
- python编写TCP和UDP测试工具
工具介绍 通过python编写的TCP&UDP协议的客户端和服务端,支持IPV4和IPV6的网络环境,同时新增加客户端ip和端口绑定功能. client客户端 # coding=utf-8 & ...
- android怎么做ab测试工具,开发必读:网易专家解读Android ABTest 框架设计
应用中不同的场景.设计方案,不经过测试,你永远不知道消费者会更偏好哪一种.面对随时可能变更的产品需求,开发人员如何才能在保证测试进程的同时,让工作也变得高效.省力? 本章内容,网易严选Android资 ...
- python3.7输出语句_python3测试工具开发快速入门教程7输入和输出
python有多种输出方式:屏幕打印数据,或者写入文件. 格式化输出 我们有两种大相径庭地输出值方法:表达式语句* 和 print() 函数(第三种方法使用文件对象的write()方法,标准文件输出可 ...
最新文章
- tcp-ip协议详解二知识进阶
- 无名飞控c语言源码,stm32飞控
- kuka机器人股票代码_【内幕】溢价收购KUKA机器人 美的钱从哪来?
- 五、手动取消ajax请求 解决重复发送请求问题
- 看图说cnblogs-强大的SEO功能【有实例】
- 中livechart显示大数据_Servlet中利用jdbc加载显示数据
- 2009年高考作文------拉风篇
- 在Ubuntu 18.04上安装MongoDB
- 十天精通CSS3学习笔记 part3
- 如何写好周报并建立周报模板
- 360视频:二十面体投影ISP
- Contest2609 - 高级语言程序实践--第8次作业--计信A2107-2113
- win7登录密码破解
- 如何在命令行下用命令slmgr激活windows8系统
- Python全栈开发【基础-09】深浅拷贝+while循环
- flutter原生插件开发--IOS端
- 几个你需注意的数据库设计原则(新手必看)
- BZOJ 1123 Luogu P3469 [POI2008]BLO-Blockade 割点+乘法原理
- 股票交易一点感悟和程序化交易实战
- 【Altium Designer21】DRC规则检查、错误、设置简析
热门文章
- 用VBA制作Excel单选框和多选框
- 树莓派无法打开摄像头模块,无法识别摄像头
- mtk2503 新增物联网卡apn
- 车辆模型-跟踪误差模型
- 十六进制的字符对照表
- 文本聚类分析算法_集成聚类系列(三)图聚类算法详解
- 计算机考研数学一大纲2016,2016考研大纲:计算机专业
- ESP12F模组-USB转TTL模块-Arduino下载程序
- Navicat For Mysql软件注册机破解
- HTML5期末大作业:web课程设计“我的家乡”——四川成都(7页) HTML+CSS+JavaScript