-
基于C#的TCP网络测试助手(一)
初学了Socket通讯,想就此自己重头开始做一个网络调试助手,以检验下学习成果。写篇笔记来记录这个过程,供大家一起学习,部分内容来源网络!
文章分为2个部分,第一部分用自己的语言介绍下socket和TCP,第二部分主要讲网络助手源码。
TCP在工业自动化的通讯方案中占据了90%的成分,学会、理解TCP是非常重要的。而Socket的建立才能让TCP动起来,没有socket,TCP就无法去运作。简而言之可以这样去理解:“TCP/IP只是一个协议栈,就像操作系统的运行机制一样,必须要具体实现,同时还要提供对外的操作接口。这个就像操作系统会提供标准的编程接口,比如win32编程接口一样,TCP/IP也要提供可供程序员做网络开发所用的接口,这就是Socket编程接口”。
所以在做tcp调试前,我需要让两头都有一个接口,那就要开是手动去“实例”一个socket出来用。
在.Net平台下我们怎么快速的去建立一个socket client?毕竟微软是专业的,在其system.Net.Sockets里我们可以看到一个 Socket 类,有这样一个类我们就能快速的建立起一个client。
1
2
|
private Socket client; private Socket server; |
然后确定两者间的识别信息:ip和port口
1
|
IPAddress iPAddress;<br> IPEndPoint iPEndPoint = new IPEndPoint(iPAddress, Port); |
这样一个简单的socket就建立起来了,接下来就是通讯了:连接和释放资源
1
|
client.Connect(iPEndPoint); //连接指定客户端<br> client.Dispose(); |
连接上之后肯定要就收和发送数据的。
1
2
|
client.Send(Buffer); //将数据发送到指定客户端去,按照字节发送 client.Receive(ReData); //接收数据到ReData中,并返回一个代表字节数的int类型的变量 |
差不多到这里就可以进行数据的交互了,也就是核心部分已经是完成了,站在巨硬的肩膀上干活真轻松。
出处:https://www.cnblogs.com/tay1987/p/15000839.html
栏目列表
最新更新
nodejs爬虫
Python正则表达式完全指南
爬取豆瓣Top250图书数据
shp 地图文件批量添加字段
爬虫小试牛刀(爬取学校通知公告)
【python基础】函数-初识函数
【python基础】函数-返回值
HTTP请求:requests模块基础使用必知必会
Python初学者友好丨详解参数传递类型
如何有效管理爬虫流量?
2个场景实例讲解GaussDB(DWS)基表统计信息估
常用的 SQL Server 关键字及其含义
动手分析SQL Server中的事务中使用的锁
openGauss内核分析:SQL by pass & 经典执行
一招教你如何高效批量导入与更新数据
天天写SQL,这些神奇的特性你知道吗?
openGauss内核分析:执行计划生成
[IM002]Navicat ODBC驱动器管理器 未发现数据
初入Sql Server 之 存储过程的简单使用
SQL Server -- 解决存储过程传入参数作为s
关于JS定时器的整理
JS中使用Promise.all控制所有的异步请求都完
js中字符串的方法
import-local执行流程与node模块路径解析流程
检测数据类型的四种方法
js中数组的方法,32种方法
前端操作方法
数据类型
window.localStorage.setItem 和 localStorage.setIte
如何完美解决前端数字计算精度丢失与数