- 1
- 0
- 约3.19千字
- 约 8页
- 2018-10-11 发布于福建
- 举报
Winsock在VB网络编程中的应用
Winsock在VB网络编程中的应用
【摘 要】本文分析了Winsock的基本原理和适用协议,针对VB网络编程中如何使用Winsock进行分析讨论,并给出实例。
【关键词】VB;Winsock;tcp;udp
0.引言
Socket(套接字)最初是由加利福尼亚大学Berkeley(伯克利)分校为UNIX操作系统开发的网络通信接口,随着UNIX的广泛使用,Socket成为当前最流行的网络通信应用程序接口之一。20世纪90年代初,由Sun Microsystems,JSB,FTP software,Microdyne和Microsoft等几家公司共同定制了一套标准,即Windows Socket规范,简称WinSock。Winsock控件可以应用的大致范围:(1)将客户端所收集的数据,传送给主机端。(2)点对点的文件传送。(3)聊天室应用程序。(4)电子公告栏(BBS)。(5)voip(voice over TCP/ip)
1.选用适用的协议
使用Winsock控件可以选择TCP 协议或是UDP协议中的一种。但是这两种协议主要的差异在于连接的状态。
TCP协议是属于面向连接的协议。UDP协议是属于无面向连接协议。因此,必须依据应用程序使用的环境来选择适用的协议。
2.如何允许更多客户端同时连接
当应用程序架构是属于主从式架构时客户端不止一个。利用Visable Basic控件数组的方式并利用监听用的数组元素(一般都是索引值“0”),来触发ConnectRequest事件。再利用判别控件数组元素的连接状态来进行远程客户端连接。
3.程序代码
首先,声明一些变量,代码如下所示。
Dim strCommand As String
Dim strWebPage As String
Private Sub Win_Click()
If Winuser.Text = Or Winpw.Text = Then
MsgBox 请填写完整!
Else
为了动态设置Winsock控件的一些属性,在“开始”按钮的Click事件加入以下代码。
Winsock1.RemoteHost = 设置连接的IP地址
Winsock1.RemotePort = 80 设置连接的远程端口号
Winsock1.Connect 开始连接远程计算机。
Wintime.Enabled = True 开始登陆时间限制
Win.Enabled = False
Winc.Enabled = False
ii = 0
End If
End Sub
Private Sub Winc_Click()
Winuser.Text =
Winpw.Text =
End Sub
Private Sub Winsock_Connect()
当Winsock控件连接操作完成,就可以传送FTP命令给服务器了,因此在Winsock控件的Connect事件中加入以下代码:
On Error Resume Next 在错误处理程序结束后,恢复原有的运行
Dim Winurl As String
Winurl = /reg/log.asp?user= + Winuser.Text + pw= + Winpw.Text
strWebPage= Winurl 设置要下载的文件添加FTP中取得文件的命令(GET)
strCommand = GET + strWebPage + HTTP/1.0 + vbCrLf
strCommand = strCommand + Accept: */* + vbCrLf
strCommand = strCommand + Accept: text/html + vbCrLf
strCommand = strCommand + vbCrLf 必须以vbCrLf结束命令
Winsock1.SendData strCommand 向远程计算机发送命令
End Sub
Private Sub Winsock_DataArrival(ByVal bytesTotal As Long)
当Winsock控件获取到数据时,需要对数据进行处理,本例中将获取的内容显示在文本框控件中,因此在Winsock控件的DataArrival事件加入以下代码:
On Error Resume Next 在错误处理程序结束后,恢复原有的运行
Dim webData As S
原创力文档

文档评论(0)