基于C#的TCP网络测试助手(一)

  • A+
所属分类:.NET技术
摘要

  初学了Socket通讯,想就此自己重头开始做一个网络调试助手,以检验下学习成果。写篇笔记来记录这个过程,供大家一起学习,部分内容来源网络!

  初学了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。

        private Socket client;         private Socket server; 

  然后确定两者间的识别信息:ip和port口

     IPAddress iPAddress;
     IPEndPoint iPEndPoint = new IPEndPoint(iPAddress, Port);

  这样一个简单的socket就建立起来了,接下来就是通讯了:连接和释放资源

        client.Connect(iPEndPoint);//连接指定客户端
     client.Dispose();

  连接上之后肯定要就收和发送数据的。

client.Send(Buffer);//将数据发送到指定客户端去,按照字节发送 client.Receive(ReData);//接收数据到ReData中,并返回一个代表字节数的int类型的变量 

  差不多到这里就可以进行数据的交互了,也就是核心部分已经是完成了,站在巨硬的肩膀上干活真轻松。