中国IT动力,最新最全的IT技术教程
最新100篇 | 推荐100篇 | 专题100篇 | 排行榜 | 搜索 | 在线API文档 | 网通镜像
首 页 | 程序开发 | 操作系统 | 软件应用 | 图形图象 | 网络应用 | 精文荟萃 | 教育认证 | 硬件维护 | 未整理篇 | 站长教程
ASP JS PHP工程 ASP.NET 网站建设 UML J2EESUN .NET VC VB VFP 网络维护 数据库 DB2 SQL2000 Oracle Mysql
服务器 Win2000 Office C DreamWeaver FireWorks Flash PhotoShop 上网宝典 CorelDraw 协议大全 网络安全 微软认证
硬件维护  CPU  主板  硬盘  内存  显卡  显示器  键盘鼠标  声卡音箱  打印机  机箱电源  BIOS  网卡  C#  Java  Delphi  vs.net2005
  当前位置:> 程序开发 > 编程语言 > .NET > 临时文章
教你编写网络通讯程序源代码之“端口扫描器”VB篇 (四)
作者:未知 时间:2005-07-27 21:35 出处:CSDN 责编:chinaitpower
              摘要:教你编写网络通讯程序源代码之“端口扫描器”VB篇 (四)
* 堕天使 * 于 2001.9.25   http://NetIs.126.com (转载请标明出处)
===========
** 本文将介绍VB下利用WinSock控件,编写简单的网络应用程序 **
** 写给所有对网络编程有兴趣的初学者!**
==================================

  这是一个简单的“端口扫描的程序”的源代码

  一. 控件说明:

    窗  口: frmScan

    ** frmScan 中的控件 **
     * TextBox :
            txtIP               (对方的IP)
            txtLowerBound       (起始端口)
            txtUpperBound       (结束端口)
            txtMaxConnections   (最多使用的连接数量)
            lstOpenPorts        (列出开放的端口)
     * CommandButton :
            cmdScan             (开始扫描)
            cmdStop             (结束扫描)
            cmdClearList        (清除开放端口的列表)
     * Winsock:      
            wskSocket           (TCP协议)
     * Timer:
            timTimer            (超时设置)
    **********************

  二. 程序源代码:
=========================================

Option Explicit
Dim lngNextPort As Long

Private Sub cmdClearList_Click()
  Me.lstOpenPorts.Clear
End Sub

Private Sub cmdScan_Click()
  Dim intI As Integer
  lngNextPort = Val(Me.txtLowerBound)
  For intI = 1 To Val(Me.txtMaxConnections)
     Load Me.wskSocket(intI)
     lngNextPort = lngNextPort + 1
     Me.wskSocket(intI).Connect Me.txtIP, lngNextPort
  Next intI
End Sub

Private Sub cmdStop_Click()
  Dim intI As Integer
  For intI = 1 To Val(Me.txtMaxConnections)
     Me.wskSocket(intI).Close
     Unload Me.wskSocket(intI)
  Next intI
End Sub

Private Sub timTimer_Timer()
  Me.sbMain.Panels(1).Text = "Current Port: " + Str(lngNextPort)
End Sub

Private Sub wskSocket_Connect(Index As Integer)
  Me.lstOpenPorts.AddItem "Port: " + Str(Me.wskSocket(Index).RemotePort)
  Try_Next_Port (Index)
End Sub

Private Sub wskSocket_Error(Index As Integer, ByVal Number As Integer, Description As String, ByVal Scode As Long, ByVal Source As String, ByVal HelpFile As String, ByVal HelpContext As Long, CancelDisplay As Boolean)
  Try_Next_Port (Index)
End Sub

Private Sub Try_Next_Port(Index As Integer)
  Me.wskSocket(Index).Close
  If lngNextPort < Val(Me.txtUpperBound) Then
     Me.wskSocket(Index).Connect , lngNextPort
     lngNextPort = lngNextPort + 1
  Else
     Unload Me.wskSocket(Index)
  End If
End Sub

=========================================

   代码其实很简单,相信大家很容易就看懂了!
   最近没什么时间,所以上次的UPD协议迟了两天才写出来。
   不过我还是会陆续将一些程序源代码帖出来以供大家参考。

--------------------------------------------------
   接下来我将帖出一些程序的源代码供大家参考!
   如果你感兴趣的请到  http://NetIs.126.com



版权归 Cninf.com 所有,转载请注明出处,谢谢!



被放逐的天使 ......
       ....................................................转贴.........................................
关闭本页
 
首页 | 投资与合作 | 服务条款 | 隐私政策 | 收藏本站 | 设为首页 | 新用户注册 | 免责声明 | 使用帮助
Copyright ©2005-2008 chinaitpower.com All rights reserved. www.chinaitpower.com 版权所有