注册 | 登录
收藏 | 帮助
热门文章
编辑推荐
相关文章  
2008奥运年:网络将快步走上盈利
网络安全之特洛伊木马攻防战略
D2OL 让网络保卫大家的健康
防治网络蠕虫病毒的技巧及其策略
深入了解网络蠕虫病毒
网络生活当心病毒,平均每天30个
网络病毒危害高 600亿安全市场待
黑客又出手 全面解析新时代的网络
先做黑客再做网管:三.网络安全术
网络安全基础知识——剖析口令攻
您现在的位置: 顶尖设计 >> IT学院 >> 编程开发 >> VB >> 文章正文
VB网络编程的基础知识
作者:佚名  来源:不详  点击:  更新:2006-12-19
简介:

1. Winsock控件基础

Winsock控件在程序设计时,看不到这个控件显现在执行的窗体之中,但是它可以提供有关网络通讯方面的程序设计依据。此外,在这个控件的使用上,您可以非常容易地要求控件为您调用TCP或是UDP网络服务的功能。因此,当您在编写有关住从式架构的应用程序时,您可以不需要了解TCP通讯协议或是低级的Winsock api调用方式。

通常,以笔者的经验,除了必须与标准通讯协议进行互动外,仅仅是进行一般性相互通讯、交换数据时,Winsock控件可以满足您的要求。因此您可以非常容易地通过属性的设置以及控制方法的调用,与远程的设备进行连接并且相互交换信息。关于这些应用方面以及调用方式,笔者将在接下的探索中,慢慢地研究Winsock的应用方式。

1-1TCP基础

不论是在Internet或是Internet网络之中,以目前流行的趋势,多半都会使用TCP协议来进行远程设备的连接。TCP协议的全名为“传输控制协议(transfer control protocol)”,这是一种在Internet上使用的 主要协议,例如http,ftp,smtp等,都是属于这个中面向连接的协议。因此,当您 使用TCP协议连接两个网络上的设备时,将可以在它们之间交换希望交换的数据。

同时,如果您开发的应用程序属于主从式应用架构(或是n-tear(多层次))应用系统时,将必须要知道应用系统主机的ip地址(利用RemoteHost属于取得)以及连接端口号(利用remoteport属于取得)。在这些数据完全备齐之后,您才可以进行进一步的调用、连接。

因此,如果正在建立主机端应用程序时,必须指定本机,必须指定本机(执行应用程序所在的计算机)所用的连接端口号(localport属于),接着将Winsock控件设置为“监听(listen)”,即可等候远程客户端进行调用与连接。因此,当主机端接收到客户端调用并且要求连接的信息时,将会触发“要求连接()”的事件,接着进行标准“允许”或是“拒绝”的程序。

一旦主机端与客户端连接完成之后,您将可以开始使用“传送数据(senddata)”方法,将数据传送给对方,并且利用“传送完成(sendcomplete)”事件,来检测数据是否传送完毕。同时,在数据传达对方的计算机时,将会触发对方计算的“接收数据(dataarrival)”事件。此时,您可以使用“取得数据(getdata)”方法,来去出这些接收到的数据。

上述的程序将周而复始地发生,直到发生“中断连接(closed)”事件或是不正常断线为止。这种连接与数据传输的方式,则是属于Winsock控件TCP协议的运行特色。图1-1所示为使用TCP连接的运行模式。

1-2 UDP基础

相对于TCP面向连接的协议则是属于UDP非面向连接协议,UDP协议的全名是“用户数据报协议(user datagram protocol)”,其运行方式明显与TCP协议有所不同。一般来说,使用UDP协议并没有所谓的主机端或是客户端的限制,您可以依据需求任意对调用主机端与客户端的角色。

因此,在数据传输之前,您必须要先设置好本机端所使用的连接端口(localport属于所指定的)。因此,在本机上必须设置远方主机的ip地址(RemoteHost属性所指定的)以及连接端口号(remoteport),并且使用这个属性的内容与远程设备进行连接。相对的,远程主机的本机连接端口则为调用端的远程连接端口号,而远程主机的“远程主机ip地址(RemoteHost属性)”则为调用端的本机ip地址。

为了让您可以对UDP协议有更清楚的了解,请参照下面的图:

在完成连接之后,即可通过连接到远程的连接端口,使用senddata方法,将数据传送到远程的主机上。远程的主机一旦接收到数据,将会立即触发dataarrival事件,此时您可以使用getdata方法,来取得远程所传送的数据。 上面阐述了有关TCP和UDP的一些连接原理,至于Winsock的属性、方法、事件在此不做介绍有关资料都有详细的说明。






  • 上一篇文章:
  • 下一篇文章:
  • 分享此文:该页面添加到 Mister Wong 添加到雅虎Yahoo!收藏 Add to:Del.icio.us Post to Furl Digg this 添加到Google书签 reddit spurl blogmarks 365Key 评论  收藏  分享  打印
     我来说两句
    姓名:       验证码:   
    主页: 
    评分: 1分 2分 3分 4分 5分
    本频道近期热评文章:
      关于我们 | 联系我们 | 站点地图 | 广告投放 | 友情链接 | 在线留言 | 版权申明
    版权所有 © 2004-2007 顶尖设计(bobd.cn)
    未经授权禁止转载,摘编,复制本站内容或建立镜像. 沪ICP备07504942号 
    网络110
    报警服务