首页  学校文化  作品展示  咨询留言  课程介绍  招聘求职  权威认证  精彩教程
咨询留言
在线报名
对外事业
您当前的位置:长城教育网 >> 精彩教程 >> 编程开发 >> 正文
长城学校暑期八折优惠招生 长城学校大专学历、中专学历证书班招生-学历网上可查 长城学校对外事业部承揽业务
VB网络编程中Winsock的使用(一)
作者:长城学校     来源:长城教育网     点击数:     更新时间:2006-8-24   
  文章导读:
不论您使用UDP协议或是TCP协议,Winsock控件都可以允许与远程的设备连接,并且在相互之间交换数据。因此,依据上面的面熟而言,不论您使用的是哪一种协议都可以扮演主机端和客户端的角色。
导读广告

算机学校 唐山电脑学校 唐山计算机学校

正文:

当您在使用Winsock控件的过程中,这个控件不会显示在正在执行的窗体之中。换句话说,Winsock控件是在后台运行的一种控件。在执行过程之中,不会具有任何选用、可见的控件。那么该如何使用Winsock控件呢?它可以被应用在那些类型的应用程序之中呢?以下所列出的内容,是这个控件可以应用的大致范围:

☺将客户端所收集的数据,传送给主机端。

☺点对点的文件传送。

☺聊天室应用程序。

☺电子公告栏。

☺voip(voice over TCP/ip)

因此,当您希望建立上述类型的应用程序之前,必须要学习如何选用适合的协议类型。

2-1如何选用适用的协议

当您准备开始使用Winsock控件之前,首要的工作是如何选择适用的协议类型。如同先前所述的,您可以选择TCP 协议或是UDP协议中的一种。但是这两种协议的差异点在哪里呢?虽然,它们同样可以使用在Internet或是Internet环境之中,但是主要的差异在于连接的状态。以下是这两种协议的特点说明:

☺TCP协议是属于面向连接的协议。所谓的面向连接协议是指——“在您可以交换数据之前,在两个终端设备之间必须连接成功”。同时,在网络的基础理论之中,都会特别强调TCP具有错误核对的功能。也就是说,在数据的传送过程中,如果发生错误或是数据无法传达对方时,TCP协议将会重复尝试着重新传送数据。因此,核对以及重新传送的能力,因此起传输效率会比Internet协议或是巨域网络协议差一些(netBIEUI、IPX、AppleTalk)。

☺UDP协议是属于无面向连接协议。这种协议为适用在两个设备之间,适用于信息传送以及数据的传输方面。但是在使用时,必须注意当你将信息送出时,对方可能已经离线,因而无法接收到数据,而您也无法实时察觉到对方已经离线。此外,使用UDP协议的最大数据传送量,完全取决于网络的传输量。因此,此种协议较为适用于局域网络。

因此,当您在建立应用程序并且选用适当的协议之前,务必先依据应用程序使用的环境来选择适用的协议。

2-2设置协议

当已经选择好适当的协议之后,接下来,将必须要设置协议的类型。在Visable Basic之中,共有两种设置协议的方式:“修改属性窗口”以及“程序代码设置”。以下是这两种设置方式的说明。 ☺修改属性窗口(见图2-1)

☺程序代码设置

Winsock1.Protocol=sckTCPProtocol

3.TCP连接的基础

在使用TCP协议来建立应用程序的过程中,首先必须决定应用程序是属于主机端

是客户端来决定应用程序所扮演的角色问题。因此,在建立应用程序的过程中,如果您选择“主机端”时,主机端的Winsock控件必须将特定的连接端口号设置在监听模式之中。同时,在客户端提出连接的请求时,主机端可以允许客户端的连接请求,并且完成连接的程序。

因此,一旦主机端与客户端连接成功之后,在这个部设备之间即可开始传送数据,以下的程序代码,具有TCP连接的基本聊天室功能。

3-1TCP连接范例

在此笔者只做简单的-程序介绍,

♣frmserver窗体的设计内容

如图3-1所示

♣frmserver的程序代码

private sub form_load()

‘设置本机连接端口的localport属性的内容

‘请注意!必须是整体值

tcpserver.LocalPort=2000

‘将本机连接端口设置为监听模式

tcpserver.Listen

Me.Caption=”frmsever”

Label1.Caption=”传送的文字“

Label2.Caption=”接收的文字“

‘打开frmclient窗体

frmClient.Show

end sub

private sub tcpserver_connectionrequest(byval requestid as long)

‘如果tcpserver 控件的状态目前不是处于关

‘闭的状态时,在允许远程设备连接时,必须要关闭目前的控制的运行

if tcpserver.state<>sckclosed then tcpserver..close

‘允许远程设备使用必要的识别码(requestid)与主机进行连接

tcpserver.accept requestid

end sub

private sub txtsend_change()

‘当txtsend控件的内容发生变化时,将txtsend控件的内容,通过tcpserver控件senddata方

‘法,将txtsend控件的内容传送给frmclient

tcpserver.senddata txtsend.text

end sub

private sub tcpserver_dataarrival(byval bytestotal as long)

‘声明即将接收的数据类型

dim strdata as string

‘调用tcpserver控件的getdata方法,将接收的数据以vbstring数据类型,存放在strdata变量之中。

Tcpserver.getdata strdata ,vbstring

‘将strdata变量的内容,存放在txtoutput控件之中。

Txtreceive.text =strdata

End sud

长城计学校 长城教育版权所有 唐山电脑学校 唐山计算机学校

  文章录入:长城学校
  • 上一篇文章: VB.NET与Media Player9.0嵌入式开发

  • 下一篇文章: 没有了
  • 我要咨询   我要报名   打印此文  关闭窗口
    热门文章
    推荐文章
    相关文章
    VB.NET与Media Player9.0嵌入式开...
    在VB 2005中定制自己的异常(三)
    在VB 2005中定制自己的异常(二)
    在VB 2005中定制自己的异常(一)
    VB程序中用ADO对象动态创建数据库...
    VB程序中用ADO对象动态创建数据库...
    掌握VB中的ADO数据对象编程
    用VB播放Avi、Wave、midi文件
     普通 怎样制作刻录系统自动还原光碟
     普通 学好五笔字型输入法的几点建议
     普通 输入法使用诀窍
     普通 广告策划书的书写
     普通 用 gdb 调试 GCC 程序
     普通 C 语言编程——什么是C
     普通 硬盘故障巧维修——了解常见的硬...
     普通 硬盘故障巧维修——为什么BIOS检...
     推荐 Adobe InDesign CS 简介
     推荐 电脑艺术设计大师之路#7-图像调...
     推荐 电脑艺术设计大师之路#6-图像调...
     推荐 3DS Max 7 Mental Ray渲染器全攻...
     推荐 电脑艺术设计大师之路#5-探索图...
     推荐 用Photoshop设计微形3D界面01
     推荐 3DS Max 7 Mental Ray渲染器全攻...
     推荐 Firewoks 营造残破纹理02
     
     
     
     
     
    设为首页 | 加入收藏 | 关于学校|  对外事业 | 联系站长 | 友情链接 | 咨询留言