⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 m34.htm

📁 vb教程 vb教程 vb教程 vb教程 vb教程 vb教程 vb教程 vb教程 vb教程 vb教程 vb教程
💻 HTM
📖 第 1 页 / 共 3 页
字号:
<html>
<head>
<title>VB教程</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
 
</head>
<p align="center"><script src="../../1.js"></script></a>

<body bgcolor="#ffffff" leftmargin="5" topmargin="1" marginheight="5" marginwidth="5">
<div align=center> 
  <table border=0 cellpadding=0 cellspacing=0 width=680 align="center">
    <tbody> 
     
    <tr> 
      <td bgcolor=#000000 height=11> 
        <div align=center class=H1>    <font color="#FFFFFF">VB5.0环境下Internet应用程序的开发</font> </font> </font></div>
      </td>
    </tr>
    <tr valign=top> 
      <td class=H1 height=2> 
        <p align="left">  <br>
           </font> <font color="#000000">一.概述 </font></span></p>
        <p>    Internet有强大的通信功能,如文件传送、远程登录、E-mail、Internet 
          Phone和Internet Fax等,它使传统的电信产业发生了巨大变化。同时,它是一个大型信息资源库,所含信息不仅包罗万象,而且日新月异。尤其是WWW(World 
          Wide Web)的出现使全球信息联成一体,并使千家万户可以随时共享这一人类伟大的资源。WWW的大规模兴起源于商业应用的普及和用户界面友好,越来越多的公司企业利用WWW网页作为商品促销或对客户服务的手段。不难想像,对于任何一位软件开发爱好者来说,学习开发Internet应用程序已经是一件刻不容缓的事情了。众所周知,使用Microsoft 
          Visual Basic 5.0增强的Internet功能使我们能够在很短的时间内开发出实用的Internet网络应用程序,本文拟向读者介绍的就是有关这方面的内容。 
          </span></font></p>
        <p>    Visual Basic是Microsoft公司面向Windows程序员的RAD(Rapid 
          Application Development)工具,它的一大特点就是隐藏了很多纷繁而令人厌倦的Windows编程细节,而使开发人员将重点放在应用程序的功能上。当人们谈及Internet 
          应用程序的时候,由于类型太多,很难明确它们具体指的是什么,因此选择工具之前先了解所需要的应用程序类型是很重要的。Visual Basic为Internet的各种开发工作都提供了专门的技术,下表对Internet的各种用途进行了分类,并列举了完成各类任务所需的相应的Visual 
          Basic工具。 </span></font></p>
        <p>     </span></font></p>
        <p>    表1. </span></font></p>
        <p>    Internet任务 Visual Basic工具 
          </span></font></p>
        <p>    计算机间的直接通信 WinSock控件(MSWINSCK.OCX) 
          </span></font></p>
        <p>    文件传输 Internet Transfer控件(MSINET.OCX) 
          </span></font></p>
        <p>    Web浏览 WebBrowser控件(SHDOCVW.DLL) 
          </span></font></p>
        <p>    在Microsoft Internet 
          Explorer中运行的应用程序的开发 ActiveX文档 </span></font></p>
        <p>    使用 Internet安装程序发布应用程序 
          Setup Wizard </span></font></p>
        <p>    用于超文本标记语言页面的组件开发 ActiveX控件 
          </span></font></p>
        <p>    数据库应用程序 ActiveX文档 </span></font></p>
        <p>     具有数据控件或使用ADODB对象的ASP 
          </span></font></p>
        <p>     从服务器到客户机的事务/数据传输ASP 
          </span></font></p>
        <p>     </span></font></p>
        <p>    另一方面,随着WWW技术日新月异的发展,利用WWW技术构造企业内部网即Intranet,已经成为人们的一种共识,甚至Intranet应用程序的数量很可能已经超出了Internet应用程序,而本文描述的每项Internet任务同样也都适用于Intranet应用程序。 
          </span></font></p>
        <p>    以下将通过实例分别讲述使用Visual 
          Basic 5.0完成以下任务:①TCP(UDP)/IP编程;②创建Internet Explorer中运行的应用程序;③创建FTP浏览器。 
          </span></font></p>
        <p>     </span></font></p>
        <p>    二.TCP(UDP)/IP编程技术 </span></font></p>
        <p>    TCP/IP协议是一种标准的企业网络协议,它也是Internet网最重要的网络互联协议,Microsoft 
          Visual Basic 5.0的WinSock控件提供用于Internet的传输控制协议(TCP)和用户数据包网络协议(UDP)的底层访问,因而可以方便地用于创建通话应用程序,实现两台或多台联网计算机间的直接数据传输。下面介绍利用WinSock控件进行TCP/IP编程的主要步骤。 
          </span></font></p>
        <p>    2.1 确定应用程序类型 </span></font></p>
        <p>    使用TCP协议的应用程序,首先必须确定它是服务器端的还是客户端的。如果要创建一个服务器端的,就必须知道服务器计算机名或者IP地址(RemoteHost属性),还要知道进行“侦听”的端口(RemotePort属性),然后调用Connect方法。如果创建客户端应用程序,就应设置一个收听端口(LocalPort属性)并调用Listen方法。当客户计算机需要连接时就会发生ConnectionRequest事件。为了完成连接,可调用ConnectionRequest事件内的Accept方法。建立连接后,任何一方计算机都可以收发数据。为了发送数据,需调用SendData方法。当接收数据时会发生DataArrival事件。调用DataArrival事件内的GetData方法就可获取数据。 
          </span></font></p>
        <p>    2.2 创建一个TCP服务器(Socket服务器) 
          </span></font></p>
        <p>    1)创建新项目。 </span></font></p>
        <p>    在File菜单中单击New Project,打开New 
          Project对话框,然后双击Standard EXE图标,即建立一个新项目,并进入开发环境。 </span></font></p>
        <p>    2)将缺省窗体的名称改为frmServer。 
          </span></font></p>
        <p>    将一个Winsock控件拖到窗体上,并将该控件的名字改为tcpServer。请注意其中的Protocol属性应为sckTCPProtocol。在窗体上添加两个TextBox控件。将第一个命名为txtSendData,第二个命名为txtOutput(如图2.1所示)。 
          </span></font></p>
        <p>     </span></font></p>
        <p>    <a 
      href="file:///C:/WINDOWS/Desktop/artical/pcccontent.html/pcc/98_12/images/12801.gif">(图2.1)</a> 
          </span></font></p>
        <p>     </span></font></p>
        <p>    3)为窗体添加如下的代码。 </span></font></p>
        <p>    Private Sub Form_Load() 
          </span></font></p>
        <p>    '将LocalPort属性设置为整数后调用Listen方法。 
          </span></font></p>
        <p>    tcpServer.LocalPort 
          = 2000 </span></font></p>
        <p>    tcpServer.Listen </span></font></p>
        <p>    End Sub </span></font></p>
        <p>    要创建服务器,首先设定一个服务器端口号,并开始侦听是否有客户请求连接。程序中,LocalPort属性为服务器端口号,最好大于1000,以避免冲突。另外,对于众所周知的端口号,我们称之为周知口,例如:端口80专用于Web服务。用Listen方法开始侦听。 
          </span></font></p>
        <p>    Private Sub tcpServer_ConnectionRequest(ByVal 
          requestID As Long) </span></font></p>
        <p>    '检查控件的State属性是否为关闭的。 
          </span></font></p>
        <p>    '如果不是,在接受新的连接之前先关闭此连接。 
          </span></font></p>
        <p>    If tcpServer.State &lt;&gt; 
          sckClosed Then tcpServer.Close </span></font></p>
        <p>    '接受具有requestID参数的连接。 
          </span></font></p>
        <p>    tcpServer.Accept requestID 
          </span></font></p>
        <p>    End Sub </span></font></p>
        <p>    当客户连接到本服务器时,产生ConnectRequest事件,在事件中接收客户的请求。 
          </span></font></p>
        <p>    程序中的requestID参数表示客户请求连接的ID号,Accept方法接收一个请求连接。 
          </span></font></p>
        <p>    Private Sub txtSendData_Change() 
          </span></font></p>
        <p>    '名为 txtSendData 的 TextBox 
          控件中包含要发送的数据。用户往文本框中 </span></font></p>
        <p>    '键入数据时,使用 SendData 方法发送输入的字符串。 
          </span></font></p>
        <p>    tcpServer.SendData txtSendData.Text 
          </span></font></p>
        <p>    End Sub </span></font></p>
        <p>    当我们需要向客户发送数据时,只需要调用SendData方法。 
          </span></font></p>
        <p>    程序中使用SendData方法发送数据。 
          </span></font></p>
        <p>    Private Sub tcpServer_DataArrival 
          (ByVal bytesTotal As Long) </span></font></p>
        <p>    '为进入的数据声明一个变量。 </span></font></p>
        <p>    '调用GetData方法,并将数据赋予名为txtOutput的TextBox的Text属性。 
          </span></font></p>
        <p>    Dim strData As String 
          </span></font></p>
        <p>    tcpServer.GetData strData 
          </span></font></p>
        <p>    txtOutput.Text = strData 
          </span></font></p>
        <p>    End Sub </span></font></p>
        <p>    当客户向本服务器发送的数据到达后,产生DataArrival事件,在事件中接收数据。 
          </span></font></p>
        <p>    程序中的bytesTotal参数表示收到数据的总数,GetData方法接收数据。 
          </span></font></p>
        <p>    Private Sub tcpServer_close(Index 
          as Integer) </span></font></p>
        <p>    tcpServer.Close </span></font></p>
        <p>    tcpServer.Listen </span></font></p>
        <p>    End Sub </span></font></p>
        <p>    当客户关闭连接时,服务器会产生Close事件。在事件中关闭当前连接,重新开始侦听。其中使用Close方法关闭连接。当然服务器也可以主动调用Close方法关闭连接,例如在窗体关闭时关闭连接。 
          </span></font></p>
        <p>    Sub frmServer_UnLoad(Cancel 
          As Integer) </span></font></p>
        <p>    tcpServer.Close </span></font></p>
        <p>    End Sub </span></font></p>
        <p>    通过上面的步骤我们创建了一个简单的服务器端应用程序。为了使它能够工作,还必须为它创建一个客户端的应用程序。 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -