Winsock Terminal示例程序_第1页
Winsock Terminal示例程序_第2页
Winsock Terminal示例程序_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、    请注意如果你是用VB6,在装载此工程之前,请先安装ThreeD32.OCX。该文件可在VB6的安装盘中的commontoolsvbcontrols目录中找到,同时在这个目录中还有一个Vbctrl.reg文件。将这两个文件拷贝到windowssystem目录下,用regsvr32注册后,运行Vbctrl已获取该控件的设计许可证。另外还要注意的是,源程序的注释部分很多是乱码,至少在我的机上如此。不过不影响程序运行。 本示例程序允许你通过选择通信协议同远程服务器连接。通过该程序你可以使用几乎所有的Internet服务,例如收发电子邮件,FTP等。一旦建

2、立连接后,你就可以向服务器发送命令并接收来自服务器的回应了。该程序的工作方式有点象DOS操作。本程序并不是一个有完全功能的程序,因此它对最终用户来讲一点用也没有。它的目的是让你明白网络协议的基本原则,一旦你了解了两台计算机是如何通过Internet连接的话,对于快速开发Internet程序来说唯一的障碍就是缺乏足够的VB编程知识了。其实Internet编程最核心的东西就是字符串的处理。无论你选择哪种网络协议实际上都是在收发字符串。下图是本程序的工作界面。   Winsock Terminal是一个小巧且易于明白的应用程序。我们可以把我们要做的事分为六步: 

3、0;用户界面开发。  建立同远程计算机的联系  编写代码,处理接收到消息  编写代码,处理用户输入的命令并发送给远程计算机  关闭与远程计算机的连接  开发服务子程序  用户界面开发 本程序用到两个窗体,除上面你所见到的外,还有一个名为frmConnect的窗体,如下图。用户可在该窗体中输入服务器的地址并选择所需的网络协议。程序的主窗体(如上图)包含三个部份:工具栏、状态栏和工作区。前两个分别用到了ToolBar和StatusBar这两个控件,而工作区则是由一文本框控件组成的

4、。当同远程计算机建立了连接后,工具栏的右边会显示发出及接收的字节数。 状态栏中显示的信息表明Winsock控件当前的工作情况。另外为了能使工作区的大小随窗体大小的改变而改变,我们须将下面的代码放在窗体的Resize事件中。 Private Sub Form_Resize() On Error Resume Next With Me     txtCommand.Move .ScaleLeft, _       .ScaleTop + ToolBar.Height, _   &

5、#160;   .ScaleWidth, .ScaleHeight - _        ToolBar.Height - StatusBar.Height End With End Sub  建立与服务器的连接 为建立与服务器的连接,用户必须首先单击“连接”按钮,此时会弹出一个“连接到.”对话框。在远程服务器地址栏中输入要连接的服务器的地址,并选择网络协议(换句话说你是在选择要连接的端口)。该窗体另外还定义了两个属性,一个是port属性,另一个是RemoteHost属性,这

6、两个属性用来接收你在文本框中输入的端口及服务器地址,并传递给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  wsComm

7、and.Close  Do Until wsCommand.State = sckClosed  DoEvents  Loop  End If  StatusBar.Caption = ""  wsCommand.Connect frm.RemoteHost, frm.Port  End If  End Sub  显示服务器的回应  当你按下“连接”按钮,可能会出现两种情况:一

8、种是由于连接不成功而返回错误事件(你可在Winsock控件的帮助文件中查到这些错误事件);另一种是连接成功而返回一个Connect事件。如果连接成功,服务器会返回欢迎消息,从而触发DataArrival事件。下面的代码被放在该事件中:  Private Sub wsCommand_DataArrival(ByVal bytesTotal As Long)  Dim strData As String  With StatusBar  .ForeColor = vbBlack  .Caption

9、= "wsCommand : DataArrival ("& bytesTotal & " bytes)"  End With  lBytesRes = lBytesRes + bytesTotal  ToolBar.Caption = "Received: " & lBytesRes & " Sent: " & lBytesSent & " "  wsCommand.

10、GetData strData  With txtCommand  .SetFocus  .Text = .Text & strData  .SelStart = Len(.Text)  End With  If Left(strData, 3) = "227" Then  MakeDataConnection strData  ElseIf Left(strData, 3) = "354" Then  bMailData = True  End If  End Sub  每次当Wi

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论