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

Winsock Terminal示例程序

来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/16
下载{$ArticleTitle}原创论文样式

请注意如果你是用VB6,在装载此工程之前,请先安装ThreeD32.OCX。该文件可在VB6的安装盘中的common\tools\vb\controls目录中找到,同时在这个目录中还有一个vbctrl.reg文件。将这两个文件拷贝到windows\system目录下,用regsvr32注册后,运行Vbctrl已获取该控件的设计许可证。另外还要注意的是,源程序的注释部分很多是乱码,至少在我的机上如此。不过不影响程序运行。

本示例程序允许你通过选择通信协议同远程服务器连接。通过该程序你可以使用几乎所有的Internet服务,例如收发电子邮件,FTP等。一旦建立连接后,你就可以向服务器发送命令并接收来自服务器的回应了。该程序的工作方式有点象DOS操作。本程序并不是一个有完全功能的程序,因此它对最终用户来讲一点用也没有。它的目的是让你明白网络协议的基本原则,一旦你了解了两台计算机是如何通过Internet连接的话,对于快速开发Internet程序来说唯一的障碍就是缺乏足够的VB编程知识了。其实Internet编程最核心的东西就是字符串的处理。无论你选择哪种网络协议实际上都是在收发字符串。下图是本程序的工作界面。

  

Winsock Terminal是一个小巧且易于明白的应用程序。我们可以把我们要做的事分为六步:  

用户界面开发。  
建立同远程计算机的联系  
编写代码,处理接收到消息  
编写代码,处理用户输入的命令并发送给远程计算机  
关闭与远程计算机的连接  
开发服务子程序  
用户界面开发

本程序用到两个窗体,除上面你所见到的外,还有一个名为frmConnect的窗体,如下图。用户可在该窗体中输入服务器的地址并选择所需的网络协议。程序的主窗体(如上图)包含三个部份:工具栏、状态栏和工作区。前两个分别用到了ToolBar和StatusBar这两个控件,而工作区则是由一文本框控件组成的。当同远程计算机建立了连接后,工具栏的右边会显示发出及接收的字节数。



状态栏中显示的信息表明Winsock控件当前的工作情况。另外为了能使工作区的大小随窗体大小的改变而改变,我们须将下面的代码放在窗体的Resize事件中。

Private Sub Form_Resize()

On Error Resume Next

With Me
    txtCommand.Move .ScaleLeft, _
      .ScaleTop + ToolBar.Height, _
      .ScaleWidth, .ScaleHeight - _
       ToolBar.Height - StatusBar.Height
End With

End Sub  
建立与服务器的连接

为建立与服务器的连接,用户必须首先单击“连接”按钮,此时会弹出一个“连接到”对话框。在远程服务器地址栏中输入要连接的服务器的地址,并选择网络协议(换句话说你是在选择要连接的端口)。该窗体另外还定义了两个属性,一个是port属性,另一个是RemoteHost属性,这两个属性用来接收你在文本框中输入的端口及服务器地址,并传递给Winsock控件。将下面的代码放在主窗体的“连接”按钮的Click事件中。  

Private Sub cmdConnect_Click()  

Dim frm As New frmConnect  

frm.Show vbModal  

If cmdConnect.Tag = "Connect" Then  

If Not wsCommand.State = sckClosed Then  
wsCommand.Close  

Do Until wsCommand.State = sckClosed  
DoEvents  
Loop  

End If  

StatusBar.Caption = ""  

wsCommand.Connect frm.RemoteHost, frm.Port  

End If  

End Sub  

显示服务器的回应  

当你按下“
  • 上一篇资讯: 制作透明的任务栏
  • 网学推荐

    免费论文

    原创论文

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