C#制作一个TCP/UDP测试工具
作者:网络转载 发布时间:[ 2013/12/10 10:04:56 ] 推荐标签:
目标:使用C#制作一个简单的TCP/UDP测试工具,并且熟悉c#中的socket编程,具备TCP客户端和UPD客户端的功能,并能进行数据收发。
知识准备:
1、socket为何物?
2、c#中需要包含的头文件及用到的API
3、建立一个TCP连接/UDP连接的流程
4、编码测试,发现问题
socket--套接字。首先提到文件描述符这样一个概念。
文件描述符-文件描述符在形式上是一个非负整数。实际上,它是一个索引值,指向内核为每一个进程所维护的该进程打开文件的记录表。当程序打开一个现有文件或者创建一个新文件时,内核向进程返回一个文件描述符。文件中的数据个人理解,是为应用服务;但应用所需要的数据可能来自本地(通过文件描述符打开文件,读取其中的数据),也可能来自网络(需要对套接字进行操作了)。
摘引百科一段话:
socket非常类似于电话插座。以一个电话网为例,电话的通话双方相当于相互通信的2个进程,区号是它的网络地址;区内一个单位的交换机相当于一台主机,主机分配给每个用户的局内号码相当于socket号。任何用户在通话之前,首先要占有一部电话机,相当于申请一个socket;同时要知道对方的号码,相当于对方有一个固定的socket。然后向对方拨号呼叫,相当于发出连接请求(假如对方不在同一区内,还要拨对方区号,相当于给出网络地址)。假如对方在场并空闲(相当于通信的另一主机开机且可以接受连接请求),拿起电话话筒,双方可以正式通话,相当于连接成功。双方通话的过程,是一方向电话机发出信号和对方从电话机接收信号的过程,相当于向socket发送数据和从socket接收数据。通话结束后,一方挂起电话机相当于关闭socket,撤消连接
至此,我们对socket进行了直观的描述。抽象出来,socket实质上提供了进程通信的端点。进程通信之前,双方首先必须各自创建一个端点,否则是没有办法建立联系并相互通信的。正如打电话之前,双方必须各自拥有一台电话机一样。在网间网内部,每一个socket用一个半相关描述:
(协议,本地地址,本地端口)
c#使用socket需要包含的命名空间system.Net.Sockets。
http://msdn.microsoft.com/zh-cn/library/system.net.sockets.socket.aspx
附上一个MSDN中的socket类相关命名空间说明,从中了解各个类及方法的使用。
相关推荐
更新发布
功能测试和接口测试的区别
2023/3/23 14:23:39如何写好测试用例文档
2023/3/22 16:17:39常用的选择回归测试的方式有哪些?
2022/6/14 16:14:27测试流程中需要重点把关几个过程?
2021/10/18 15:37:44性能测试的七种方法
2021/9/17 15:19:29全链路压测优化思路
2021/9/14 15:42:25性能测试流程浅谈
2021/5/28 17:25:47常见的APP性能测试指标
2021/5/8 17:01:11