c#制作一个TCP/UDP测试工具

转载 2013年12月05日 09:41:49

目标:使用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用一个半相关描述:
(协议,本地地址,本地端口)
1、c#使用socket需要包含的命名空间system.Net.Sockets。

http://msdn.microsoft.com/zh-cn/library/system.net.sockets.socket.aspx

附上一个MSDN中的socket类相关命名空间说明,从中了解各个类及方法的使用。

相关文章推荐

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

Tcp & Telnet & Socket 调试工具 [公开所有源码]

最近在研究 TI Cortex-M3 LM3S8962 调试TCP时,找了一些TCP&UDP调试工具,用起来不怎么习惯。随后自己写了一个调试工具,现与君共享!代码全部公布,喜爱者共同学习完善之! ...
  • e_wsq
  • e_wsq
  • 2012年10月26日 12:56
  • 3382

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

转载一个很经典的--C# Socket TCP和UDP报文及端口测试工具的开发(提供源码)

转载地址:http://www.ltmonitor.com/blog/?p=285 因为自己经常做Socket开发,经常要调试各种协议,如TCP、UDP和SIP等协议,还要维护多个服务器...
  • gws1229
  • gws1229
  • 2013年12月10日 09:40
  • 4025

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

C#超级通信调试工具[v1.0][全新发布]

软件名称:C#超级通信调试工具 功能概要: 1.串口,TCP服务端/客户端,UDP服务端/客户端通讯调试 2.支持Hex,ASCII,UTF8,GB2312编码调试 3.接收数据可通过右键菜单一键计算...

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

C# UDP编程(通过类UdpClient实现收发)

1.程序说明 今天学了C#的UDP,实现了一个非常简单的UDP收发工具 这个工具的功能就是发送UDP报文和监听UDP报文。在左侧的文本框中输入文字,单击“发送数据”按钮发送UD...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:c#制作一个TCP/UDP测试工具
举报原因:
原因补充:

(最多只允许输入30个字)