- A+
所属分类:.NET技术
初学了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类型的变量
差不多到这里就可以进行数据的交互了,也就是核心部分已经是完成了,站在巨硬的肩膀上干活真轻松。