当前位置: 网学 > 编程文档 > VB > 正文

VB5.0环境下Internet应用程序的开发

来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/17
下载{$ArticleTitle}原创论文样式
何一方计算机都可以收发数据。为了发送数据,需调用SendData方法。当接收数据时会发生DataArrival事件。调用DataArrival事件内的GetData方法就可获取数据。  

  2.2 创建一个TCP服务器(Socket服务器)  

  1)创建新项目。  

  在File菜单中单击New Project,打开New Project对话框,然后双击Standard EXE图标,即建立一个新项目,并进入开发环境。  

  2)将缺省窗体的名称改为frmServer。  

  将一个Winsock控件拖到窗体上,并将该控件的名字改为tcpServer。请注意其中的Protocol属性应为sckTCPProtocol。在窗体上添加两个TextBox控件。将第一个命名为txtSendData,第二个命名为txtOutput(如图2.1所示)。  

    

  (图2.1)  

    

  3)为窗体添加如下的代码。  

  Private Sub Form_Load()  

  ''将LocalPort属性设置为整数后调用Listen方法。  

  tcpServer.LocalPort = 2000  

  tcpServer.Listen  

  End Sub  

  要创建服务器,首先设定一个服务器端口号,并开始侦听是否有客户请求连接。程序中,LocalPort属性为服务器端口号,最好大于1000,以避免冲突。另外,对于众所周知的端口号,我们称之为周知口,例如:端口80专用于Web服务。用Listen方法开始侦听。  

  Private Sub tcpServer_ConnectionRequest(ByVal requestID As Long)  

  ''检查控件的State属性是否为关闭的。  

  ''如果不是,在接受新的连接之前先关闭此连接。  

  If tcpServer.State <> sckClosed Then tcpServer.Close  

  ''接受具有requestID参数的连接。  

  tcpServer.Accept requestID  

  End Sub  

  当客户连接到本服务器时,产生ConnectRequest事件,在事件中接收客户的请求。  

  程序中的requestID参数表示客户请求连接的ID号,Accept方法接收一个请求连接。  

  Private Sub txtSendData_Change()  

  ''名为 txtSendData 的 TextBox 控件中包含要发送的数据。用户往文本框中  

  ''键入数据时,使用 SendData 方法发送输入的字符串。  

  tcpServer.SendData txtSendData.Text  

  End Sub  

  当我们需要向客户发送数据时,只需要调用SendData方法。  

  程序中使用SendData方法发送数据。  

  Private Sub tcpServer_DataArrival (ByVal bytesTotal As Long)  

  ''为进入的数据声明一个变量。  

  ''调用GetData方法,并将数据赋予名为txtOutput的TextBox的Text属性。  

  Dim strData As String  

  tcpServer.GetData strData  

  txtOutput.Text = strData  

  End Sub  

  当客户向本服务器发送的数据到达后,产生DataArrival事件,在事件中接收数据。  

  程序中的bytesTotal参数表示收到数据的总数,GetData方法接收数据。  

  Private Sub tcpServer_close(Index as Integer)  

  tcpServer.Close  

  tcpServer.Listen  

  End Sub  

  当客户关闭连接时,服务器会产生Close事件。在事件中关闭当前连接,重新开始侦听。其中使用Close方法关闭连接。当然服务器也可以主动调用Close方法关闭连接,例如在窗体关闭时关闭连接。  

  Sub frmServer_UnLoad(Cancel As Integer

网学推荐

免费论文

原创论文

浏览:
设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
湘ICP备09003080号