VB语言

本类阅读TOP10

·Visual Basic 安装程序的制作!!
·一个简单的MP3播放器
·VB中使用EXCEL输出
·VB程序实现WindowsXP效果的界面!!
·VB打造超酷个性化菜单(一)
·VB打造超酷个性化菜单(六)
·透明位图
·平铺与拉伸MDI窗口的背景图 ~!~
·对《VB程序实现WindowsXP效果的界面》一文的补遗
·从Windows资源管理器中拖动文件

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
VB IGMP

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

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

 




相关文章

相关软件




月光软件程序下载编程文档电脑教程网站设计网址导航网络文学游戏天地幽默笑话生活休闲写作范文安妮宝贝
电脑技术编程开发网络专区谈天说地情感世界游戏元素分类游戏热门游戏体育运动手机专区业余爱好影视沙龙
音乐天地数码广场教育园地科学大观古今纵横谈股论金人文艺术医学保健动漫图酷二手专区地方风情各行各业

月光软件站·版权所有