版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、收稿日期:2003-03-11作者简介:陈 魁(1978,男,辽宁铁岭人,硕士研究生,研究方向 为Web挖掘、网络安全等。V C +中U DP通信的实现陈魁(大连理工大学系统工程研究所,辽宁大连116023摘 要:WINSOCK是在 Windows进行网络通信编程的 API接口 ,也是Windows环境下网络编程的事实标准。UDP是通 信中常用的协议,文中给出在VC +中用UDP协议开发网络通讯程序的一个框架模型,以该模型为基础可以开发自己的通信程序。通过实验证明该模型方便易行。关键词:套接字;使用者资料包协议;通信中图分类号:TP393文献标识码:A文章编号:1005-3751(2003 0
2、9-0038-02R ealizati on of U DP Communi cati on B ased on VC +CHEN Kui(In stitute of Systems Engin eeri ng , Dalia n Un iversity of Tech no logy ,Dalia n 116023,Chi nas APIAbstract :WINSOCK is the in terface of Win dows com muni cati on program of Win dows com 2muni cati on. UDP (User Datagram Protoc
3、ol is a mai n method of a model based on VC +. Based on this model can research and develop new that the model is convenient and practicable.K ey w ords :WINSOCK; User ; 0 弓 I 言Berkeley分校BSD UN IX系统的Socket API (套接字是在TCP/IP网络环境下 进行通信的重要工具。20世纪90年代初,由Microsoft联合了其他几家公司共同 制定了一套 Windows下的网络编程接 口 ,即 Wind
4、ows Sockets规范。它是BSD UN IX Sockets的重要扩充,主要是增加了一些异步函数,并增加了符合Win dows消息驱动特性的网络事件异步选择机制。 Win 2dows Sockets规范是 一套开放的、 支持多种协议的 Win 2dows下的网络编程接口 ,是Windows环境下 进行网络编程的事实标准。Socket实际在计算机中提供了一个通信端口,可以通过这个端口与任何一个具有 Socket接口的计算机通信。 应用程序在网络上传 输,接收的信息都通过这个Socket接口来实现。在应用开发中就像使用文件句柄 一样,可以对Socket句柄进行读、写操作。VC +圭寸装了原来
5、的 Windows Sockets库函数,产生了 CAsynSocket ,CSocket ,CSocket File等类,它们圭寸装着有 关 Socket 的各种功 能,使编程变得更加简单明了。根据传输数据类型的不同,Win dows Sockets支持套接字一般可分为三种。(1面向连接的字节流式套接字。采用TCP协议,提供双向的、可靠的、有序的和无重复投递的数据流。(2无连接的数据报套接字。 采用UDP协议,支持双向的数据流,但不保证有序、可靠或无重复的投递。(3原始套接字。提供对于支持套接字抽象概念的基础通信协议的访问。需 Windows Sockets 2. 0或以上版本 支持1,2。
6、1U DP的通信原理UDP (User Datagram Protocol 是一种无连接的协议,运行在服务器和客户端的两个程序不用建立连接,而是以收、发数据报作为通信方式,数据报信息以分离的形式传 送,每个数据报文有独立的源地址和目的地 址。这是提供给用户进程的无连接协议,用于传送数据而不执行正确性检查。使 用UDP数据报协议,服务器和客户端不建立连 接,通信的内容以数据报”短信息 的形式实现,但传输时不能保证对方一定能收到,也不能保证收到的报文次序。这个设计原理类似于日常收、发信件:可以随时给朋友写 信,只要在信封上注明对方的地址(以便邮寄 和自己的地址(以便回复。但对方能否收到信件,什么时
7、候收到 信件以及对方收到信件的次序是否和发信的次序相同难以保证3。图1是无连接协议的套接字调用时序图。第13卷第9期2003年9月微机 发展 Microcomputer Developme ntVol. 13 No. 9Sep.2003tgMO/zevQ理帝播亭上图1无连接协议的套接字调用时序图2 VC +中程序实例下面给出服务器端和客户端的通信的主要程序,其中函数可以参考微软的MSDN来理解。2. 1 建立U DP服务器class CDASocket :public Casy ncSocket /CDASocket类继承 Casy ncSocket 类的 所有特性/Attributespub
8、lic :/Operati onspublic :CDASocket (Cvirtual (;/Overridespublic :public :virtual void On Receive (int n ErrorCode 重载 On Receive 函数 在其中添加接收后具体的处理/Impleme ntati onprotected :;void CDASocket :OnReceive(int nErrorCode /OnReceive函数接收数据处理/TODO :Add your specialized code here an d/or call the basechar buff
9、256;int ret =0;ret =Receive (buff ,256 ;if (ret =ERRORTRACE (“ ERROR !elseAfxMessageBox ( “ shoudao ” ;class CAs yn cSocket :O nReceive( nErrorCode ;CReceiveDlg :CReceive(CDASocket 3m -hSocket ;m -hSocket = new CDASocket (this ;erroif (! m -hSocket -Create (4000, SOCK QGRAM AfxMessageBox (“CReceiveD
10、lg :CReceiveDlg (delete m -hSocket ;2. 2 建立U DP客户端class CDSocket :public CSocket/Attributespublic :/Operati onspublic :CDSocket (;(/protected :;void CSendDIg :OnSend(发送函数,发送自己的数据或者 文件CDSocket m -hSocket ;m -hSocket. Create (4000,SOCK -DGRAM ;m -hSocket. Close (;3 结束语有了以上UDP协议通信模型,就可以在此基础上添 加自己要发送的数据或者 文件来完善自己程序的功能。在Win dows Sockets应该特别注意出错的处理,比如掉电,数据发送错误等等的处理,这些关系到程序是否可以可靠 的运行参考文献1 Jamsa K ,Cope K. IN TERNET 编程M .北京:电子工业出 版社,1996.123-12712 朱三元
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 采购合同的收款与支付方式操作指南3篇
- 采购成交协议书合同3篇
- 采购合同的类别区分3篇
- 采购合同样本的马来语3篇
- 2024年挖掘机械销售与设备租赁合同范本3篇
- 采购合同中的国际环境保护3篇
- 采购合同中的工程质量检验标准规定3篇
- 采购合同中英文版填写说明3篇
- 采购合同的违约案例分析与启示3篇
- 采购合同制定提高合同竞争力3篇
- 小学四年级除数是两位数的除法练习题
- 消防控制室值班记录1
- 部编人教版道德与法治四年级下册《合理消费》优质课件
- 应用PDCA降低抗生素的使用率及使用强度课件
- 分包计划范文
- 公司十周年庆活动策划模板
- 血流动力学监测.ppt课件
- 火箭发动机课件-
- 研发中心薪资等级晋升制度
- 传感器期末结课作业
- 主要零部件的设计和强度校核参考
评论
0/150
提交评论