基于VB_Winsock控件实现网络聊天功能_第1页
基于VB_Winsock控件实现网络聊天功能_第2页
基于VB_Winsock控件实现网络聊天功能_第3页
基于VB_Winsock控件实现网络聊天功能_第4页
基于VB_Winsock控件实现网络聊天功能_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、OF LIAONING ECONOMIC VOCATIONAL TECHNOLOGICAL INSTITUTE OF LIAONINGECONOMICMANAGEMENTCADREINSTITUTE JOURNAL 应用工程网络编程是计算机领域发展的一个流行趋势,而VB6.0提供了一系列的网络编程控件,常用的VB 网络编程控件有Winsock ,Inernet Transfer ,webBrower 。下面介绍Winsock 控件的具体应用。一、基于Winsock控件的开发模式Winsock 控件采用的是客户机/服务器模式(Client/Server ,简称C/S 。此模型包括客户机和服务器应

2、用程序。客户应用程序向服务器应用程序提出请求服务,服务器程序侦听到了客户的请求后对客户的请求作出适当的响应,即对客户提供服务。1.服务器程序的开发模式(1服务器程序要先设置侦听端口,即LocalPort 属性。该值可设为其它程序没用过的四位整数。(2将服务器设置成侦听状态,即用Listen 方法侦听,使服务器始终处于等待客户连接请求的状态。(3当客户机程序发出连接请求后,将触发服务器程序的ConnetionRequest 事件,该事件得到RequestID 参数。(4服务器程序接受客户机程序RequestID 请求后,服务器程序就可以使用SendData方法向客户机发送数据了。(5当服务器程序

3、接收到数据时,会产生DataArrival 事件。在该事件中可以使用GetData方法接收数据。2.客户机程序的开发模式(1客户程序要先设置RemoteHost 属性,用来指向服务器的主机名或IP 地址。(2设置Remoteport 属性,用来指向服务器程序的侦听端口号。(3服务器接受了上述连接请求后,客户机程序将产生Connect 事件。在该事件中编写“与服务器连接”的程序。(4显示“连接成功”弹出框后,就可用SendData 方法向服务器发送数据了。(5当客户机程序接收到数据时,会产生DataArrival 事件,在该事件中编写程序,用GetData 方法接收数据。3.Winsock 控件

4、采用的协议Winsock 控件采用TCP/IP 或UDP 协议进行通信。协议是指通信双方约定的通信规则,即通信所使用的语言。TCP/IP 协议用于传送容量大、安全性高的数据文件。设计时需要将Winsock 控件的Protocol 属性设置为sckTCPProtocol 。UDP (用户数据文报协议适用于需要分别与很多下属通信、数据量小的情况。设计时需要将Winsock 控件的Protocol 属性设置为sckUDPProtocol 。二、Winsocket控件详解1.主要属性LocalHostName :返回本机名字;LocalIP :返回本地计算机IP 地址;LocalPort :返回或设置

5、侦听端口;Protocol :返回或设置Winsock 所用的协议(TCP 或UDP ;RemoteHost :返回或设置远程计算机的名称;RemoteHost IP :返回远程计算机的IP 地址;RemotePort :连接套接字端口值;State :返回控件当前的状态。2.主要方法(1Listen :用于服务器程序,等待客户访问;(2Connect :用于向远程主机发出连接请求;(3Accept :用于接受一个连接请求;(4Senddata :用于发送数据;(5Getdata :用来取得接收到的数据;(6Close :关闭当前连接。3.主要事件ConnectionRequest :客户机向

6、服务器提出请求服务时所触发的事件。通常与Accept 方法一同使用,用来接受客户机的连接请求。DataArrival :当客户端和服务器端有信息发送来时,就会触发该事件。它通常与GetData 方法一同使用,通过GetData 方法获取新到达的数据。三、开发实例网络聊天程序由客户端和服务器两个程序组成,可以在同一台计算机上运行,也可以在网络上的不同计算机上运行。整个系统的运行机制:一是建立连接,主要过程是由客户端程序向服务器程序发出连接请求,服务端程序收到并接受请求,至此客户机与服务器间创建了数据交流的通道。二是开始聊天,主要过程是当在客户机的“发送的信息”文本框输入文字时,服务器端的“收到的

7、信息”文本框就会实时地显示相同的文字,反之亦然。作者简介:姜丽杰(1968-,女(满族,辽宁丹东人,主要从事计算机及程序教学研究。基于VB_Winsock 控件实现网络聊天功能姜丽杰(辽宁广播电视大学丹东分校,辽宁丹东118000摘要:VB 的网络编程主要是基于控件,以Winsock 控件为主开发基于客户机/服务器模式(client/server ,简称C/S 的网络聊天程序具有广泛的应用价值。其实现过程也相对固定,便于掌握。关键词:Winsock ;网络聊天;客户机/服务器模式;网络编程中图分类号:TP29文献标识码:A 文章编号:1672-5646(201102-0066-02066 辽宁

8、经济职业技术学院辽宁经济管理干部学院二 一一年第二期1.服务器程序设计(1程序界面设计创建一个“标准的EXE ”工程。选中“工程”菜单的“部件”选项,在控件中找到Microsoft Winsock Control 并将其选中。若没找到,可找到安装盘并安装其中的Mswinsck.cab 压缩包。在窗体上添加Command 、三个TextBox 控件。名称分别为:发送方的文本框为Ts ,接收方的文本框为Tr ,服务器的IP 地址文本框为TsIP 。在窗体上添加Winsock 控件,名称为winsocksv ;将Protocol (协议属性设置为0。(2代码设计Private Sub Form_Lo

9、ad (Winsocksv.LocalPort =10001TsIP.Text =Winsocksv.LocalIP Winsocksv.Listen End Sub Private Sub Ts_Change (Winsocksv.SendData Ts.Text End Sub Private Sub Winsocksv_ConnectionRequest (ByVal requestID As Long Winsocksv.Close Winsocksv.Accept requestID End Sub Private Sub Winsocksv_DataArrival (ByVal b

10、ytesTotal As Long Dim mystr As String Winsocksv.GetData mystr Tr.Text =mystr End Sub 在VB 代码设计窗口中编辑相应的事件过程中设计代码,并成功编译服务器端程序,同时制作成.exe 文件。2.客户机程序设计(1程序界面设计创建一个“标准的EXE ”工程,添加Winsock 控件,名称为winsock1,将Protocol (协议属性设置为0。在窗体上添加两个Command 、四个TextBox 控件。名称分别为:发送方的文本框为TxtS ,接收方的文本框为TxtR ,Tc 、Ts 显示客户机和服务器的IP 地址

11、。(2代码设计Private Sub Command1_Click (Winsock1.RemoteHost=Ts.Text Winsock1.Connect End Sub Private Sub Command2_Click (Unload Me End Sub Private Sub Form_Load (Winsock1.RemotePort=10001Tc.Text=Winsock1.LocalIP Ts.Text=Tc.TextEnd SubPrivate Sub TxtS_Change (Winsock1.SendData TxtS.Text End SubPrivate Sub

12、 winsock1_Connect (MsgBox “你成功地与聊天服务器进行了连接”,vbInformationEnd SubPrivate Sub winsock1_DataArrival (ByVal bytesTotal As Long Dim mystr As String Winsock1.GetData mystr TxtR.Text=mystrEnd Sub在VB 代码设计窗口中编辑相应的事件过程中设计代码,并成功编译客户端程序,同时制作成.exe 文件。运行服务器和客户端的两个.exe 文件,就可实现相互之间信息发送和接收。此实例只能实现两个人进行网络聊天,若服务器程序做一下改动。即可实现一个人同时与多人聊天,把服务器界面添加两个Winsock 控件,一个用来侦听网上请求信号,另一个为初始的连接口,采用动态控件数组的形式,以后当请求连接的客户增多时,可在这个控件的基础上动态增加,由于篇幅问题,详细代码略。上述的服务器程序和客户机程序已编译成功,系统在运行时Winsock 控件是不可见的,同时打开服务器和客户端的两个可执行文件,分别对应两个窗口。首先在客户端窗口服务器IP 地址的文本框内输入要连接的IP 地址,在点击“连接聊天服务器”按钮,会显示“与服务器连接成功”的信息,此时可以开始聊天了。即若在客户端的发送信息文本框内输入信息会同时在服务器

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论