文章分类 | 推荐文章 | 最新文章 | 热点文章 | 最新软件 | 精品软件 | 下载排行 | 推荐下载 | WPS | 杀毒软件
清风网络
首 页 软件下载 网络学院
QQ 电脑入门 游戏 操作系统 图形处理 办公软件 媒体动画 精文荟萃 工具软件 网络编程 程序开发 网络技术 认证考试 网站建设 文章专栏
当前位置:清风网络程序开发数据结构基于CS模式的Winsock网络通讯程序
精品推荐
特别推荐
·网游外挂编写完全攻略
·开发WDM型的USB设备驱动程序
·数据库设计范式深入浅出
·理解软件保护技术之序列号方式
·大型网站必鉴:分销渠道的结构
·你的代码真的很健壮吗
·利用HOOK拦截封包原理
·四种网络游戏外挂的设计方法
热点TOP10
·Spring Integration 1.0 正式发布
·使用 Abbot 框架自动化测试 Eclipse 插件的用户界面 1
·sqldatasource控件处理image类型数据
·使用Spring框架轻松解决数据访问和配置问题
·PrideORM框架设计---数据访问层的设计
·委托(delegate)在自定义控件的应用
·Visual Basic里与Print有关的函数
·DataGrid控件中如过有四列,想去删除一列,怎么办

基于CS模式的Winsock网络通讯程序

日期:2008年6月9日 作者: 查看:[大字体 中字体 小字体]


  除了Client/Server结构的MIS以外,还有另外一类比较常见的Client/Server结构是网络通信程序,这里,我们以Winsock网络编程为例,解释一下Client/Server的网络编程。

  Winsock实际上是Windows Socket,Socket是对应TCP/IP协议的最典型的应用程序开发接口。作为网络应用编程界面,Socket隐藏了网络底层的复杂的协议和数据结构。使得编程人员可以简单的对网络进行操作。Socket通信有两种主要方式,

  第一种叫流方式(Stream Socket),也称面向连接的方式,这种方式对应的是TCP协议。起传输特点是通信可靠性高,按发送的顺序接收数据。数据被看作是字节流,无长度限制。第二种叫数据报方式(Datagram Socket),又称无连接方式,对应的是UDP协议。这种方式不提供数据无错保证。数据可能丢失或重复,并且接收顺序混乱,报文长度是有限制的,另外,在有的Socket版本中,也可能直接使用IP协议,称为Raw Socket,用于写底层的通信软件或协议。

  服务器通信程序的开发

  因为服务器从事大量的复杂的计算,所以服务器端的应用程序是在Windows环境下用VC来实现的,VC作为面向对象的编程语言具有运算速度快的显著特点。而VC还提供的Socket组件,可以方便的利用VC来开发Winsock通信程序。

  服务器处理请求框图

  这里,我们的服务器程序主要接收客户发送的数据,然后依据数据类型进行相应的计算,将计算处理过程中的数据定时的发给客户端去显示。程序框图如上,逻辑处理框图如下:

  ServerProc()

  {

   Switch()

    Case WM_USER;

     WSAStartup();

     s = Socket;

     bind();

     listen();

     WSAAsyncSelect();

    Case WM_TIMER;

     TimerProc();

    Case WM_Command;

     MenuProc();

    Case WM_SOCK;

     Switch();

    Case FD_ACCEPT;

    Case FD_READ;

    Case FD_WRITE;

    Case FD_CLOSE;

    Case WM_DESTROY;

     KillTimer();

     SACleanup():

     PostQuiteMessage();

  }

  客户通信程序的开发

  根据客户机的特点,一般只做简单的计算和显示,因此,客户端程序可以用Visual Basic实现。VB的ActiveX类控件中的Winsock控件,提供了访问TCP网络服务器的方便途径。而且在编写客户端应用时,不必了解TCP的细节或调用低级的Winsock APIS。
而通过设置控件的属性并调用其方法就可以实现连接和双向数据的交换。针对创建客户应用程序,必须知道与之连接的计算机名或者IP地址,这可以通过Winsock控件的Remote Host来设置。控件向设置的服务器发送或者接收数据,同时还需要知道进行侦听的端口,可以通过Winsock的Remoteport来设置。最后调用Connect方法,如下是软件初始化模块的一段代码:

[1] [2] 下一页 



上一篇:简单对象访问协议(SOAP)初级指南

下一篇:系统构架设计应考虑的因素
相关文章:
·从零开始 无线网络终极应用宝典
·五大流程成就网络运维管理的基础
·教你一分钟学会使用免费网络电话Skype
·傲游在手 网络应用帮你全全搞定
·基于SQL Server的WEB应用程序注入攻击详细介绍
·Win XP中的网络技巧
·深思III软件狗数据区读取程序
相关软件:
·高级计算机网络
·网络常见问题与故障1000例
·MCSE试题 网络基础(上)
·网络流量监视器V1.1
·网络八爪鱼V1.3 Build 0709
·南方起名程序 8.5
·iTVlive全球网络电视 2008

特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
[打印本页] [关闭窗口] 转载请注明来源:http://www.viphot.com
| 帮助(?) | 版权声明 | 友情连接 | 关于我们 | 信息发布
Copyright 2007 www.viphot.com All Rights Reserved. 鄂ICP备05000083号Powered by:viphot