Word版可编辑-VisualBasic60实现网络通讯程序设计精心整理.doc_第1页
Word版可编辑-VisualBasic60实现网络通讯程序设计精心整理.doc_第2页
Word版可编辑-VisualBasic60实现网络通讯程序设计精心整理.doc_第3页
Word版可编辑-VisualBasic60实现网络通讯程序设计精心整理.doc_第4页
Word版可编辑-VisualBasic60实现网络通讯程序设计精心整理.doc_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

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

文档简介

VB网络通讯程序设计WinSock控件能够通过UDP协议(用户数据报协议)或TCP协议(数据传输协议)连接到远程的机器并进行数据交换。这两种协议都能用来创建客户端和服务端应用程序。就像定时器控件一样,WinSock控件运行时没有一个可视的界面。下面就是分别用TCP和UDP协议来创建的网络聊天软件。TCP协议网络聊天程序的运行过程及原理 第一步:建立连接 主要过程是:由客户端程序向服务端程序发出连接请求,服务端程序收到并接受连接请求,至此客户机与服务器创建了数据交流通道。 第二步:开始聊天 主要过程是:在客户机的“发送的信息”文本框中输入文字时,服务器端的“收到的信息”文本框中就会实时地显示相同的文字,反之亦然。服务器的界面设计1.创建一个“标准 EXE”工程,选中“工程”菜单的“部件”,在控件中找到Microsoft Winsock Control并将其选中。2.将Form1的名称改为Form_Load(),并在其中添加两个命令按钮(Command1的Caption属性为“退出”,Command2的Caption属性为“发送”)。3.在窗体是添加三个TextBox控件,其名称分别为txtServerIP,txtSend和txtReceive。4.在窗体上添加一个Winsock控件,将其Protocol(协议)属性设置为0(即sckTCPProtocol)。服务器端的源代码:Private Sub Form_Load() 设置侦听端口 WinsockServer.LocalPort = 10001 读取服务器的IP地址 txtServerIP.Text = WinsockServer.LocalIP 开始侦听 WinsockServer.ListenEnd SubPrivate Sub Command1_Click() 点击“退出”按钮后关闭应用程序 Unload MeEnd SubPrivate Sub Command2_Click() 只要txtSend文本框的内容写好以后就由WinsockServer控件发送 WinsockServer.SendData txtSend.TextEnd SubPrivate Sub WinsockServer_ConnectionRequest(ByVal requestID As Long) 当收到连接请求时,Winsock处于侦听状态 此时应该使用Close方法关闭Winsock,然后使用Accept方法接受连接请求 WinsockServer.Close WinsockServer.Accept requestIDEnd SubPrivate Sub WinsockServer_DataArrival(ByVal BytesTotal As Long) 当客户端有信息发送来时,利用WinsockServer控件的GatData方法读取数据 并将其显示在txtReceive文本框中 Dim MyStr As String WinsockServer.GetData MyStr txtReceive.Text = MyStrEnd Sub运行界面如下图:客户端的界面设计1.创建一个新的“标准 EXE”工程,并添加Winsock 控件。2.将Form1的名称改为Form_Load(),并在其中添加两个命令按钮(Command1的Caption属性为“退出”, Command2的Caption属性为“连接服务器” ,Command3的Caption属性为“发送”)。3.在窗体是添加四个TextBox控件,其名称分别为txtClientIP,txtServerIP,txtSend和txtReceive。4.在窗体上添加一个Winsock控件,将其Protocol(协议)属性设置为0(即sckTCPProtocol)。客户端的源代码:Private Sub Form_Load() 设置聊天服务器的侦听端口 WinsockClient.RemotePort = 10001 读取本机的IP地址 txtClientIP.Text = WinsockClient.LocalIPEnd SubPrivate Sub Command1_Click() 点击“退出”按钮后关闭应用程序 Unload MeEnd SubPrivate Sub Command2_Click() 根据txtServerIP文本框中输入的服务器IP,连接聊天服务器 WinsockClient.RemoteHost = txtServerIP.Text WinsockClient.ConnectEnd SubPrivate Sub Command3_Click() 输入txtSend文本框的内容后由WinsockServer控件发送 WinsockClient.SendData txtSend.TextEnd SubPrivate Sub WinsockClient_Connect() 如果与服务器连接成功,则向用户提供下列信息 MsgBox 你成功地与聊天服务器进行了连接, vbInformationEnd SubPrivate Sub WinsockClient_DataArrival(ByVal BytesTotal As Long) 当服务器有信息发送来时,利用WinsockClient控件的GatData方法读取数据 并将其显示在txtReceive文本框中 Dim MyStr As String WinsockClient.GetData MyStr txtReceive.Text = MyStrEnd Sub运行界面如下图:通讯实现过程通过以上的准备工作后,分别把服务器和客户端生成exe(可执行)文件:服务器.exe和客户端.exe。今后我们只需要用这两个软件就行,就算我们计算机上没有安装Visual Basic 6.0也可以使用。首先打开这两个软件服务器.exe和客户端.exe,在服务器中软件会自动检测出本台计算机的IP地址,并写入对应文本框中。客户端软件也能检测出本台计算机的IP地址,并写入对应文本框中。1.自发自接型我们先在客户端软件中的“txtServerIP”中输入要连接的服务器IP地址,然后点击“连接服务器”按钮,如果与服务器连接成功后,则会弹出连接成功对话框,如下图之后在客户端的txtSend中向服务器发送消息,这时服务器会收到客户端发来的消息。同时,服务器也可以向客户端发送消息,这时客户端也会收到服务器的消息。以上操作均在一台计算机上完成。通讯界面如下图2.两台计算机间通讯型把服务器.exe和客户端.exe拷贝到另一台计算机上,打开它们,跟上面的方法类似,区别在于不是写自己的IP,而是写另外一台计算机的IP,另外一台计算机写你的IP。这里我的IP是10.1.214.28,另一台计算机IP是10.1.214.121。这样两台计算机就可以连接并进行通讯了。通讯界面如下图用户1用户2UDP协议UDP(UserDatagramProtocol) 是一种无连接协议,与TCP操作不同,计算机间并不需要建立一个连接,同时,一个UDP应用可同时作为应用的客户或服务器方。聊天A程序源代码Private Sub Command1_Click()Winsock1.SendData Text1.Text 发送文本End SubPrivate Sub Form_Load()With Winsock1.RemoteHost = user-PC 要连接到的计算机名.RemotePort = 1010 要连接到的端口号.LocalPort = 1011 该Winsock控制将要使用的本地端口号,便于其它端与该Winsock通讯.Bind 1011 将该Winsock控制绑定到该本地端口End WithEnd SubPrivate Sub Winsock1_DataArrival(ByVal bytesTotal As Long)Dim strData As StringWinsock1.GetData strData, vbStringText2.Text = strDataEnd Sub聊天B程序源代码Private Sub Form_Load()With Winsock1.RemoteHost = user-PC 要连接到计算机的IP地址.RemotePort = 1011 要连接到的端口号.LocalPort = 1010 该Winsock控制将使用的本地端口号,便于其它方与之通讯.Bind 1010 将该Winsock控制绑定到该本地端口End WithEnd SubPrivate Sub txtSend_Change()Winsock1.SendData txtSend.Text 发送文本End SubPrivate Sub Winsock1_DataArrival(ByVal bytesTotal As Long)Dim strData As StringWinsock1.GetData strData, vbStringText2.Text = strDataEnd SubPrivate Sub Command1_Click()Winsock1.SendData Text1.Text 发送文本End Sub通讯实现过程 1.自发自接型首先把这两个工程生成可执行文件(exe):聊天A.exe和聊天B.exe。然后在同一台计算机上打开它们(计算机上没有安装Visual Basic 6.0也可以打开),这样聊天A.exe和聊天B.exe就可以互相发送信息了 。通讯过程如下图2.两台计算机间发送信息型若要在不同的计算机上发送信息,则需要在源代码中把RemoteHost改一下,即把IP地址改为对方的IP,双方都需要改动。比如,一方是10.1.214.28,而另一方是10.1.214.121。然后再生成可执行文件,方法过程同上。通讯过程如下图用户1用户2 心得体会总结: 通过此次实验设计,我掌握了TCP和UDP协议的基本原理,并可以利用VB Winsock编写一些简单的通讯软件,可以实现一台计算机自己与自己通讯和两台计算机间的通讯。 我在编写软件的过程中遇到了许多问题,由于我们学习的是VC与VC+,并没有学习过VB,所以遇到了很多困难,刚开始照着书敲写代码,但完全不懂代码意思,经过看注释,问老师,以及利用平时的时间,最后基本能够看懂代码的意思,并且自己还能够修改代码,因为之前在百度上找了许多资料,但

温馨提示

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

评论

0/150

提交评论