ImageVerifierCode 换一换
格式:DOC , 页数:7 ,大小:29KB ,
资源ID:1844290      下载积分:10 文钱
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,省得不是一点点
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.wenke99.com/d-1844290.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(使用Visual Basic Winsock控件编写网络通信程序.doc)为本站会员(99****p)主动上传,文客久久仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知文客久久(发送邮件至hr@wenke99.com或直接QQ联系客服),我们立即给予删除!

使用Visual Basic Winsock控件编写网络通信程序.doc

1、使用 Visual Basic Winsock 控件编写网络通信程序摘要:本文讨论用 Visual Basic Winsock 控件实现局域网通信的方法,并通过实例进行了简要的说明,为 Visual Basic 初学人员学习局域网通信程序设计提供一个入门的线索。 关键词:Visual Basic、网络通信程序设计、TCP/IP 协议 中途分类号:F224.33 文献标识码:A 文章编号: 1、前言: 对于 Visual Basic 初学人员来说,如果能自己编一个局域网通信程序,会给自己的工作带来一些帮助。但要从头开始完全由自己来编写一段用于通信的程序,必须对相关的网络协议及其他的一些较底层的技

2、术有较深入的了解。Visual BasicWinsock 控件已经替你封装了所有烦琐的技术细节。Winsock 是 Microsoft Windows 提供的网络编程接口,它提供了基于 TCP/IP(传输控制协议/网间协议)协议的接口实现方法。并提供了访问 TCP 和 UDP 网络服务的方便途径。 Winsock 控件可以供 Microsoft Acess、Visual Basic,Visual C+和 Visual Foxpro 的开发人员使用。本文以 Visual Basic 6 企业版为开发环境来向大家介绍一下 Winsock 控件的初步应用。 TCP/IP 协议提供两种同其他行机进行通

3、信的方式:TCP 方式和 UDP方式。 TCP 是一种面向连接的服务,在两个主机之间建立连接,提供双向、有序且无重复的数据流服务,以及流量控制、错误检测程纠错等服务,保证数据的可靠性。 UDP 是一种双向的无连接数据服务,它把数据发出去但并不进行差错控制和检查,所以不能保证数据的可靠性,因而一般只能用于少量数据的传输。 2、网络通信程序 在创建客户应用程序时,必须知道服务器计算机名或其 IP 地址(存于 RemoteHost 属性)、及服务器计算机进行侦听的端口(存于 RemotePort属性) ,然后调用 Connect 方法。 创建服务器应用程序时,就应相应设置一个侦听端口(LocalPo

4、rt 属性)并调用 listen 方法。当客户机需要连接时(connect),就会发生ConnectionRequest 事件。为了完成连接,你可以在 ConnectionRequest事件中调用 Accept 方法。建立连接后,任何一方计算机都可以发送、接收对方数据。如果你要发送数据,需调用 SendData 方法。当接收到数据时,会发生 DataArrival 事件,调用 DataArrival 事件中的 GetData 方法就可以获得对方传送的数据。 假设甲机为客户机、乙机为服务器。且其 IP 为 192.168.1.12,接收端口为 1024(任意选一个未被使用的端口即可)。 3、应用

5、程序的建立 建立服务器程序 创建标准工程。然后在工具箱上单击右键,在单出的菜单中选择“部件” ,在弹出的“部件”对话框中,钩选 “Microsoft Windows Control 6.0”复选框,的窗口标题属性设为“学校公告栏”把 Winsock控件拖到窗体上并设置属性:Name 为“srSocket” ;index 为“0” ,在窗体中添加一标签,Name 为“Label1” 其代码如下: Dim nSocket As Integer 申明变量 Dim Schedule(9) As String Private Sub Form_Load() InitSchedule 初始化数据 nSoc

6、ket = 0 srSocket(0).LocalPort = 1024 设置监听端口 srSocket(0).Listen Label1.Caption=“服务器已工作,准备接收请求” End Sub Private Sub srsocket_Close(Index As Integer) Label1.Caption=“客户终止对话!” srSocket(Index).Close End Sub Private Sub srsocket_ConnectionRequest(Index As Integer, ByVal requestID As Long) nSocket = nSocke

7、t + 1 Load srSocket(nSocket)有客户请求,产生一个 SOCKET 来和客户通信 srSocket(nSocket).Accept requestID Label1.Caption=“有客户请求,建立连接” End Sub Private Sub srsocket_DataArrival(Index As Integer, ByVal bytesTotal As Long) Dim Rec Dim NextOne As String Label1.Caption=“进行数据传输” srSocket(Index).GetData Rec取出数据 NextOne = get

8、Next() 发送数据 srSocket(Index).SendData NextOne End Sub Private Sub srsocket_Error(Index As Integer, ByVal Number As Integer, Description As String, ByVal Scode As Long, ByVal Source As String, ByVal HelpFile As String, ByVal HelpContext As Long, CancelDisplay As Boolean) If srSocket(Index).State 0 The

9、n srSocket(Index).Close 产生错误,则关闭连接 End If End Sub Public Function InitSchedule() Schedule(0) = “要公告的消息 1“ Schedule(1) = “要公告的消息 2“ Schedule(2) = “要公告的消息 3“ Schedule(3) = “要公告的消息 4“ End Function Public Function getNext() Static Counter As Integer getNext = Schedule(Counter)循环显示 4 条信息 Counter = Counte

10、r + 1 Counter = Counter Mod 4 End Function 建立客户机程序 创建标准工程。然后在工具箱上单击右键,在单出的菜单中选择“部件” ,在弹出的“部件”对话框中,钩选 “Microsoft Windows Control 6.0”复选框,的窗口标题属性设为“学校公告栏”把 Winsock控件拖到窗体上 Name 为“clSocket” ,在窗体中添加二个标签,Name 分别为“Label1”和“Label1” ,输入以下程序代码: Private Sub Form_Load() Form1.Caption=”客户端” Label1.caption=”学校公告栏

11、” ClSocket.RemoteHost = “192.168.1.12“ ClSocket.RemotePort = 1024 ClSocket.Connect End Sub Private Sub ClSocket_Close() ClSocket.Close 如果服务器关闭,则关闭连接 End Sub Private Sub ClSocket_Connect() ClSocket.SendData “inform Me“ 向服务器发出请求数据 End Sub Private Sub ClSocket_DataArrival(ByVal bytesTotal As Long) Dim

12、gResult As String ClSocket.GetData gResult 接收数据 DisplayAndRequestNext gResult调用显示程序段 End Sub Sub DisplayAndRequestNext(ByVal iStr As String) Dim i As Integer Dim sLen As Integer Dim sTmp1 As String Dim sTmp2 As String sLen = Len(iStr) sTmp1 = Space(sLen) sTmp2 = Space(sLen) sTmp1 = sTmp1 + iStr For

13、i = 1 To 2 * sLen + 1 在屏幕上移动显示 Label2.Caption = Mid$(sTmp1, i, sLen) delay 30000 Next i If ClSocket.State 0 Then ClSocket.SendData “next“接收下一条信息 Else Label2.Caption = “服务器已关闭“ End If End Sub Sub delay(dt As Integer) Dim i As Integer用循环来进行延时 For i = 0 To dt DoEvents Next i End Sub 到此完成了客户端和服务器的,将其存盘,然后编译成可执行文件。运行时先启动服务器程序,然后运行客户端程序。 参考文献 Visual Basic 6.0 入门与提高清华大学生出版社 张树兵 戴 红 陈 哲 编著

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。