你好,欢迎来到电脑编程技巧与维护杂志社! 杂志社简介广告服务读者反馈编程社区  
合订本订阅
 
 
您的位置:文章管理 / 本期精品文章
基于UDP协议的C/S连接管理实现
 

陈家雄

 

  提出了一种基于UDP协议的C/S连接管理的实现方法,并给出了具体的思路和详细的服务器及客户端的实现代码。

关键词 自定义消息,托盘图标,注册表,INI文件

 

在开发C/SClient/Server)架构的软件系统时,常常需要服务器在客户端连接时动态地向客户端发送某些参数值,客户端根据服务器发来的参数值进行下一步操作,例如动态生成数据库连接字符串来连接数据库等;同时,还常常需要在服务器端控制客户端的连接数量,从而达到保护软件开发者相关利益的目的。以下为基于UDP协议的客户端连接管理的具体思路和详细实现方法,使用的集成开发环境为Borland C++Builder 6.0

 

一、理论依据

UDPUser Datagram Protocol,用户数据报协议)属于TCP/IP的传输层协议。UDP协议在设计时的简单性,保证了UDP在工作时的高效性和低延时性。因此,在服务质量较高的网络中(如局域网),UDP可以高效地工作。与同属TCP/IP传输层协议的TCPTransfer Control Protocol, 传输控制协议)相比较,TCP是面向连接的,使用各种措施尽量保证数据传输过程中的可靠性;而UDP则是无连接的。虽然UDP的可靠性比TCP差(如表1所示),但UDP却免去了TCP建立连接和关闭连接时需要进行的握手过程,非常适合应用于要求高效传输数据或数据传输量小的场合。

1 UDPTCP的比较

比较项目

UDP

TCP

是否连接

无连接

连接

传输可靠性

不可靠

可靠

应用场合

传输少量数据

传输大量数据

速度

 

正因为UDPTCP的应用场合不同,所以不能仅从可靠性的差别来判断UDPTCP哪一个更好。就局域网应用而言,综合权衡数据传输的流量、传输的效率和开发的便利性,并且考虑到UDP支持广播与多播,而TCP并不支持,实现C/S连接管理时采用UDP协议应是最佳选择。

 

二、自定义协议

因为UDP只负责数据在网络中的传输,系统并不能自动识别UDP所传输信息的真正含义,因此还需要自定义一套简单的请求-应答协议,以实现服务器和客户端之间的信息交互。请求-应答协议的定义如图1所示。

服务器

启动

启动

客户端

广播“SearchClient

发送“RequestData

 

 

接收数据

并进行判断

正确,返回设定的参数值,客户端数加1

错误,返回“RequestError

关闭

返回“SearchClientReturn

客户端数加1

发送“ClientShutDown

客户端数减1

退出

接收参数值并进行下一步操作

 

若客户端在运行

1 自定义请求-应答协议

1中“SearchClient”和“SearchClientReturn”等均为自定义的服务器与客户端进行信息交互的命令。

 

三、服务器端开发

启动Borland C++Builder 6.0,从菜单“FileàNewàApplication”新建一个工程。修改主窗口的某些属性,如表2所示。

  推荐精品文章

·2024年6月目录 
·2024年5月目录 
·2024年4月目录 
·2024年3月目录 
·2024年2月目录 
·2024年1月目录
·2023年12月目录
·2023年11月目录
·2023年10月目录
·2023年9月目录 
·2023年8月目录 
·2023年7月目录
·2023年6月目录 
·2023年5月目录

  联系方式
TEL:010-82561037
Fax: 010-82561614
QQ: 100164630
Mail:gaojian@comprg.com.cn

  友情链接
 
Copyright 2001-2010, www.comprg.com.cn, All Rights Reserved
京ICP备14022230号-1,电话/传真:010-82561037 82561614 ,Mail:gaojian@comprg.com.cn
地址:北京市海淀区远大路20号宝蓝大厦E座704,邮编:100089