转至繁体中文版     | 网站首页 | 图文教程 | 资源下载 | 站长博客 | 图片素材 | 武汉seo | 武汉网站优化 | 
最新公告:     敏韬网|教学资源学习资料永久免费分享站!  [mintao  2008年9月2日]        
您现在的位置: 学习笔记 >> 图文教程 >> 软件开发 >> VB.NET程序 >> 正文
教你编写网络通讯程序源代码之“端口扫描器”VB篇 (四)         ★★★★

教你编写网络通讯程序源代码之“端口扫描器”VB篇 (四)

作者:闵涛 文章来源:闵涛的学习笔记 点击数:984 更新时间:2009/4/23 15:38:21
* 堕天使 * 于 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 所有,转载请注明出处,谢谢!



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


[VB.NET程序]面向对象程序设计——VB.NET&C# 篇  [Web开发]VC开发数据库基础之ADO篇 (2)
[Web开发]VC开发数据库基础之ADO篇 (1)  [MySql]GNU/Linux实战手记之Emacs篇 中--Bash程序设计
教程录入:mintao    责任编辑:mintao 
  • 上一篇教程:

  • 下一篇教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      注:本站部分文章源于互联网,版权归原作者所有!如有侵权,请原作者与本站联系,本站将立即删除! 本站文章除特别注明外均可转载,但需注明出处! [MinTao学以致用网]
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

    同类栏目
    · C语言系列  · VB.NET程序
    · JAVA开发  · Delphi程序
    · 脚本语言
    更多内容
    热门推荐 更多内容
  • 没有教程
  • 赞助链接
    更多内容
    闵涛博文 更多关于武汉SEO的内容
    500 - 内部服务器错误。

    500 - 内部服务器错误。

    您查找的资源存在问题,因而无法显示。

    | 设为首页 |加入收藏 | 联系站长 | 友情链接 | 版权申明 | 广告服务
    MinTao学以致用网

    Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved.
    闵涛 投放广告、内容合作请Q我! E_mail:admin@mintao.net(欢迎提供学习资源)

    站长:MinTao ICP备案号:鄂ICP备11006601号-18

    闵涛站盟:医药大全-武穴网A打造BCD……
    咸宁网络警察报警平台