赛迪网 > IT技术 编程语言 > 文章
  IT资讯搜索
 
IT产品搜索
[程序开发][网管世界][网络安全][数据库技术]
[操作系统][嘉宾聊天·在线访谈][活动集锦]
[精彩专题][Symantec专区][订阅IT技术周刊]
[开发论坛][网管论坛][安全论坛][数据库论坛]
[操作系统论坛][Sybase专区][IBM dW技术专区]
[病毒求助][病毒与漏洞播报][文档·源码下载]

VB IGMP

发布时间:2006.08.16 03:02     来源:plwww    作者:

Option Explicit
'*******************IGMP************************
Private Type SockAddr 
    sin_family As Integer
    sin_port As Integer
    sin_addr As String * 4
    sin_zero As String * 8
End Type

Private Type T_WSA 
    wVersion As Integer
    wHighVersion As Integer
    szDescription(0 To 255) As Byte
    szSystemStatus(0 To 128) As Byte
    iMaxSockets As Integer
    iMaxUdpDg As Integer
    lpVendorInfo As Long
End Type

Private Declare Sub CopyMemory Lib "kernel32.dll" Alias "RtlMoveMemory" (Dest As Any, Src As Any, ByVal cb&)
Private Declare Function inet_addr Lib "wsock32.dll" (ByVal addr As String) As Long
Private Declare Function WSAStartup Lib "wsock32.dll" (ByVal a As Long, b As T_WSA) As Long
Private Declare Function WSACleanUp Lib "wsock32.dll" Alias "WSACleanup" () As Integer
Private Declare Function Socket Lib "wsock32.dll" Alias "socket" (ByVal afinet As Integer, ByVal socktype As Integer, ByVal protocol As Integer) As Long
Private Declare Function ConnectWinsock Lib "wsock32.dll" Alias "connect" (ByVal sock As Long, sockstruct As SockAddr, ByVal structlen As Integer) As Integer
Private Declare Function send Lib "wsock32.dll" (ByVal sock As Long, ByVal msg As String, ByVal msglen As Long, ByVal flag As Integer) As Long
Private Declare Function htons Lib "wsock32.dll" (ByVal a As Integer) As Integer
Private Declare Function closesocket Lib "wsock32.dll" (ByVal sn As Long) As Integer
Private sock As Long
Private t As Long 
Private Sub cmd_Go_Click()
If t > 0 Then
     t = 0
    Else
          Dim addr As SockAddr
          Dim x As Long
          Dim ip As String
          Dim y(0 To 3) As Byte
          ip = ""
          x = inet_addr(txt_IP.Text) 
          CopyMemory y(0), x, 4 
     For x = 0 To 3
       ip = ip & Chr(y(x))
     Next x
          addr.sin_addr = ip
          addr.sin_family = 2
          addr.sin_port = htons(100) 
          addr.sin_zero = String(8, 0)
         
     If ConnectWinsock(sock, addr, Len(addr)) Then 
        MsgBox "connect error"
        Exit Sub
     End If
     t = 10
     Set cmd_Go.Picture = Image1.Picture 
     Timer1.Enabled = True
End If
End Sub
Private Sub Form_Load()
Dim WSAData As T_WSA
Set cmd_Go.Picture = Image2.Picture 
    WSAStartup 514, WSAData 
    sock = Socket(2, 3, 2) 
     If sock < 0 Then
       MsgBox "winsock error"
       Unload Me
     End If
t = 0
End Sub
Private Sub Form_Unload(Cancel As Integer)
closesocket sock
WSACleanUp 
End Sub

Private Sub Timer1_Timer() 
If t Then
     send sock, String(60000, "0"), 60000, 0
     t = t - 1
Else
     Timer1.Enabled = False
     Set cmd_Go.Picture = Image2.Picture
End If
End Sub

 


[ 发表评论 ] 字体[  ] [ 打印 ] [ 进入博客 ] [ 进入论坛 ]  [ 推荐给朋友 ]
  相关文章
· 源代码推荐:vb的GUID生成算法 (08-03) · VB源码推荐:一个操作Ini文件的类 (05-03)
· 使发布的VB程序带有最少量的库文件. maybe... (01-21) · VB与数据库应用一例----生成EXCEL表 (11-08)
· VB环境下压缩数据流播放技术(2) (04-11) · VB源代码推荐: 动态的显示/隐藏start按钮 (09-14)
· 判别剪贴板上所有可用的格式 (04-16) · 取得网卡序列号 (09-08)
· DirectX 7 编程初步 (01-03) · ShellExecute 的应用技巧 (06-23)
  客户需求反馈表
* 姓  名:
更多资料  了解方案  认识厂商
* 单位名称:
* 联系电话:
* 电子邮件:
  赛迪推荐  
  手机·资费 ·新品·导购·评测·手机资费·宽带
手机搜索  诺基亚 N73 MOTO Z6
  IT产品 ·笔记本·台式机·服务器·打印·投影
IT产品搜索 
  IT技术 ·开发·网管·安全·数据库·操作系统
  信息化 ·热点·专题·访谈·周刊·方案案例
[政务][电信][金融][农业][制造业][中小企业]
[CIO][ERP][协同][IT管理][中间件][电子商务]
[政策][地方][专家][评估][辞典][博客][社区]
· 专题:一路畅通构想曲——让出行不再遭遇堵车
· CIO工作亲历:企业ERP选型不能忽视"选人关"
· 综述:信息化建设给中国监狱带来的各种变化
· 金融业风险管理和法规遵从有五点需考虑的因素
· 保险业CIO关注:该如何建立统一高效的CRM体系
· 调查显示:多数CIO对IT规划仍存在困惑和误解
  博客·论坛 ·曾剑秋·项立刚·Java学习·网管