基于WinSock控件的网络程序设计

来源 :无线互联科技 | 被引量 : 0次 | 上传用户:hnxblj
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘 要:VB的网络编程主要是基于控件,以Winsock控件为主开发基于客户机/服务器模式(client/server,简称C/S)的网络聊天程序具有广泛的应用价值。
  关键词:Winsock;网络聊天;客户机/服务器模式;网络编程
  网络编程是计算机领域发展的一个流行趋势,而VB提供了一系列的网络编程控件,常用的VB网络编程控件有Winsock,Inernet Transfer,webBrower。下面介绍Winsock控件的具体应用。
  1 基于Winsock控件的开发模式
  Winsock控件采用的是客户机/服务器模式(Client/Server,简称C/S)。此模型包括客户机和服务器应用程序。客户应用程序向服务器应用程序提出请求服务,服务器程序侦听到了客户的请求后对客户的请求作出适当的响应,即对客户提供服务。
  2 Winsocket控件详解
  2.1 主要属性
  LocalHostName:返回本机名字;LocalIP:返回本地计算机IP地址;LocalPort:返回或设置侦听端口;Protocol:返回或设置Winsock所用的协议(TCP或UDP);RemoteHost:返回或设置远程计算机的名称;RemoteHost IP:返回远程计算机的IP地址;RemotePort:连接套接字端口值;State:返回控件当前的状态。
  2.2 主要方法
  ⑴Listen:用于服务器程序,等待客户访问;⑵Connect:用于向远程主机发出连接请求;⑶Accept:用于接受一个连接请求;⑷Senddata:用于发送数据;⑸Getdata:用来取得接收到的数据;⑹Close:关闭当前连接。
  2.3 主要事件
  ConnectionRequest:客户机向服务器提出请求服务时所触发的事件。通常与Accept方法一同使用,用来接受客户机的连接请求。
  DataArrival:当客户端和服务器端有信息发送来时,就会触发该事件。它通常与GetData方法一同使用,通过GetData方法获取新到达的数据。
  3 开发实例
  网络程序由客户端和服务器两个程序组成,可以在同一台计算机上运行,也可以在网络上的不同计算机上运行。整个系统的运行机制:一是建立连接,主要过程是由客户端程序向服务器程序发出连接请求,服务端程序收到并接受请求,至此客户机与服务器间创建了数据交流的通道。二是开始通信,主要过程是当在客户机的“发送的信息”文本框输入文字时,服务器端的“收到的信息”文本框就会实时地显示相同的文字,反之亦然。
  3.1 服务器程序设计
  ⑴程序界面设计
  ①创建一个“标准的EXE”工程。
  ②在窗体上添加Command、三个TextBox控件。名称分别为:发送方的文本框为Ts,接收方的文本框为Tr,服务器的IP地址文本框为TsIP。
  ③在窗体上添加Winsock控件,名称为winsocksv;将Protocol(协议)属性设置为0。
  ⑵代码设计
  略。
  在VB代码设计窗口中编辑相应的事件过程中设计代码,并成功编译服务器端程序,同时制作成.exe文件。
  3.2 客户机程序设计
  ⑴程序界面设计
  ①创建一个“标准的EXE”工程,添加Winsock控件,
  名称为winsock1,将Protocol(协议)属性设置为0。
  ②在窗体上添加两个Command、四个TextBox控件。
  名称分别为:发送方的文本框为TxtS,接收方的文本框为
  TxtR,Tc、Ts显示客户机和服务器的IP地址。
  ⑵代码设计
  略。
  在VB代码设计窗口中编辑相应的事件过程中设计代码,并成功编译客户端程序,同时制作成.exe文件。运行服务器和客户端的两个.exe文件,就可实现相互之间信息发送和接收。
  此实例只能实现两个人进行网络聊天,若服务器程序做一下改动。即可实现一个人同时与多人聊天,把服务器界面添加两个Winsock控件,一个用来侦听网上请求信号,另一个为初始的连接口,采用动态控件数组的形式,以后当请求连接的客户增多时,可在这个控件的基础上动态增加,由于篇幅问题,详细代码略。上述的服务程序和客户机程序已编译成功。
  上面的网络聊天程序,主要用到了Winsock控件。在本程序中,此控件选用TCP协议进行远程计算机之间的通信,即便对TCP/IP、TCP这些知识掌握不够,只要理解了网络应用程序设计的一般原理,并对Winsock控件的主要属性、方法和事件有所了解,就可在短时间内创建一个简单的网络通信程序。
  文中略去的程序代码可以联系作者。
  [参考文献]
  [1]高俊光.基于VB的Winsock控件的原理与应用[J].应用科技,2004.
  [2]黄玲玲.杨剀,王颖.在VB中使用Winsock控件实现局域网通信[J].信息技术,2005.
  [3]王晓平,钟军.VisualBasic网络通信协议分析与应用实现[J].2003.
其他文献
敞开的下水道,像新德里,这样的下水道会使许多贫困的社区遭受极大的健康风险。
这篇文章主要介绍如何运用可视化编程工具Delphi制作报表,并针对制作中国式报表的斜线问题提出解决方案.
目的:观察PDO(p-dioxanone)线联合自体颗粒脂肪填充治疗下睑老化的临床效果。方法:收集2015年3月-2018年12月,78例于笔者医院行PDO线联合自体颗粒脂肪填充治疗下睑老化的就医
【正】在传说中,奥林匹克运动的创始人是宙斯的儿子大力神赫拉克勒斯。不过,有文字记录的最早一届奥林匹克运动会是在公元前776 年举
【正】维多利亚和大卫·贝克汉姆已经皈依佛教。有报道称这对夫妻——和他们的三个儿子一起住在洛杉矶——已经"信奉"神秘的佛教,如今每天早上他们都会祈祷,使他们能够应
本文给出柯西--布涅柯夫斯基不等式的一个推广形式.
【正】许多人吞服大量的维生素C片剂,希望能增强免疫力,抵御疾病的侵袭。但是,最新的研究表明,对癌症患者来说,大剂量维生素有害无益。在位于纽约的纪念斯隆-凯特琳癌症中心,
【正】中国国家质量监督部门希望香港恢复销售内地生产的三个品牌的牙膏,尽管目前有关这些牙膏中工业化学物质二甘醇的含量是否达到
【正】2008年是农历鼠年。汉语中的"胆小如鼠、抱头鼠窜、鼠目寸光、鼠肚鸡肠、鼠窃狗盗"及"无名鼠辈"等成语,皆有"猥琐、卑微"及"心胸狭窄"等含义,可见鼠在汉语中简直一无是
中国共产党的初心和使命就是为人民谋利益、为民族谋复兴。赣州是全国著名的革命老区,在中国革命史上具有特殊重要的地位。上世纪30年代初,毛泽东等老一辈革命家在赣州进行艰