.NET开发

本类阅读TOP10

·NHibernate快速指南(翻译)
·vs.net 2005中文版下载地址收藏
·【小技巧】一个判断session是否过期的小技巧
·VB/ASP 调用 SQL Server 的存储过程
·?dos下编译.net程序找不到csc.exe文件
·通过Web Services上传和下载文件
·学习笔记(补)《.NET框架程序设计(修订版)》--目录
·VB.NET实现DirectDraw9 (2) 动画
·VB.NET实现DirectDraw9 (1) 托管的DDraw
·建站框架规范书之——文件命名

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
教你编写网络通讯程序源代码之“端口扫描器”VB篇 (四)

作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站

* 堕天使 * 于 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 所有,转载请注明出处,谢谢!



被放逐的天使 ......
       ....................................................转贴.........................................


相关文章

相关软件