VB网络编程技术中Winsock的使用1

VB网络编程技术中Winsock的使用

科技情报开发与经济

文章编号:1005-6033(2007)14-0196-03

SCI-TECHINFORMATIONDEVELOPMENT&ECONOMY2007年第17卷第14期

收稿日期:2007-01-13

VB网络编程技术中Winsock的使用

韦建忠

(南宁地区教育学院数学与计算机科学系,广西南宁,530001)

要∶介绍了VB网络编程技术中Winsock的应用,包括选择通信协议、协议的设置、

使用TCP协议建立连接、使用UDP协议建立通信等。关键词:网络编程;Winsock控件;TCP协议;UDP协议中图分类号:TP311.5

文献标识码:A

在Windows下的各种网络编程接口中,WindowsSockets规范是一套开放的、支持多种协议的Windows下的网络编程接口。用Winsock控件可以与远程计算机建立连接,并通过用户数据文报协议(UDP)或者传输控制协议(TCP)进行数据交换。这两种协议都可以用来创建客户与服务器应用程序。Winsock一般有如下用途:创建收集用户信息的客户端应用程序,并将收集的信息发送到某中央服务器;创建一个服务器应用程序,作为多个用户数据的汇入点;创建“聊天”应用程序。

(ByValrequestIDAsLong)PrivateSubtcpServer_ConnectionRequest‘接收到对方连接请求触发这个事件。

IftcpServer.State<>sckcloseThentcpServer.Close‘使收到对方连接请求之前保持关闭状态。

tcpServer.AcceptrequestID‘tcpServer自己接收连接请求,与客户端Socket建立连接。

EndSub

(ByValbytesTotalAsLong)PrivateSubtcpServer_DataArrival

1选择通信协议

在使用WinSock控件时,首先需要考虑使用什么协议。可以使用的

协议包括TCP和UDP。两种协议之间的重要区别在于它们的连接状态:

(1)TCP协议控件是基于连接的协议,可以将它同电话系统相比。在开始数据传输之前,用户必须先建立连接。

(2)UDP协议是一种无连接协议,两台计算机之间的传输类似于传递邮件:消息从一台计算机发送到另一台计算机,但是两者之间没有明确的连接。另外,单次传输的最大数据量取决于具体的网络。

(3)到底选择哪一种协议通常是由需要创建的应用程序决定的。下面的几个问题将有助于选择适宜的协议:一是在收发数据的时候,应用程序是否需要得到客户端或者服务器的确认信息?如果需要,使用TCP协议,在收发数据之前先建立明确的连接。二是数据量是否特别大(例如图像与声音文件)?在连接建立之后,TCP协议将维护连接并确保数据的“昂贵”的。三完整性,不过,这种连接需要更多的计算资源,因而是比较

是数据发送是间歇的,还是在一个会话内?如果应用程序在某个任务完成的时候需要通知某个计算机,UDP协议是更适宜的。UDP协议适合发送少量的数据。

DimstrAsStringtcpServer.GetDatastr

txtOutput.Text=str‘在名为txtOutput的文本框中输出接收到的信息。EndSub

()PrivateSubtxtSendData_Change

tcpServer.SendDatatxtSendData.Text‘将名为txtSendData文本框中的内容传递给对方。

EndSub3.2

TCP客户端的建立

(1)在工程中添加一个新的窗体,在窗体上添加一个Winsock,并将其命名为tcpClient。

(2)在窗体上添加4个TextBox控件和2个CommandButton控件。(3)代码及注释如下:

()‘建立连接命令按钮。PrivateSubcmdconnect_Click

tcpClient.RemoteHost=txtHost.text

‘在名为txtHost的文本框中输入远程主机名或IP地址。(txtPort.text)tcpClient.RemotePort=CLng

‘在名为txtPort的文本框中输入远程主机的端口号。

2协议的设置

在设计时,可以按如下方式设置应用程序使用的协议:在“属性”窗

口中单击“协议”,然后选择sckTCPProtocol或者sckUDPProtocol。也可以使用程序代码来设置Protocol属性,如下所示:

tcpClient.ConnectEndSub

()‘发送信息命令按钮。PrivateSubcmdSent_Click

Winsock1.Protocol=sckTCPProtocol

3.1

使用TCP协议建立连接

TCP服务器的建立(1)新建“标准EXE”工程。

(2)在窗体上放入一个winsock控件,并将它的名字改为:tcpServer。(3)在窗体上放两个TextBox控件。(4)代码及注释如下:

tcpClient.SendDatatxtsend.TextEndSub

()PrivateSubForm_Load

txtHost.text="weiyangyang"txtPort.tex=1100

‘程序启动时两个文本框先显示服务器的地址及端口号,这两个值根据需要可以修改。

OptionExplicit()PrivateSubForm_Load

tcpServer.LocalPort=1100‘将LocalPort属性设置为一个整数。tcpServer.Listen‘Winsock在程序启动时监听端口1100。EndSub

EndSub

()PrivateSubtcpClient_Close

196

Word文档免费下载Word文档免费下载:VB网络编程技术中Winsock的使用1 (共3页,当前第1页)

你可能喜欢

  • VB程序设计
  • 网络聊天
  • VB高级编程
  • VB控件大全
  • 聊天系统设计
  • 网络应用程序设计
  • 数据库编程
  • 聊天室系统

VB网络编程技术中Winsock的使用1相关文档

最新文档

返回顶部