Dim portnum As Long
Dim RemoteIP As String
Public Sub ScanningPorts()
portnum = Text1.Text
If portnum <> 0 Then
'MsgBox "开始"
Winsock1.RemoteHost = RemoteIP
Winsock1.RemotePort = portnum
Winsock1.Connect
DoEvents
Winsock1.Close
Else
MsgBox "请指定端口号!"
End If
End SubPrivate Sub btn1_Click()
RemoteIP = ipstart.Text
Call ScanningPorts
End SubPrivate Sub Winsock1_Connect()
MsgBox "此端口开启!!"
End Sub问两个问题:
我在用winsock编程的时候,测试端口用的是135,可是在点击按钮以后,有时就触发了connect事件,有时不触发,我就加了句 MsgBox "开始" ,这样就可以每次都触发。1.这是什么原因。该怎么解决,谢谢了!2.是不是用connect进行连接,即使端口开启,也不是每次都可以连接成功的?
Dim RemoteIP As String
Public Sub ScanningPorts()
portnum = Text1.Text
If portnum <> 0 Then
'MsgBox "开始"
Winsock1.RemoteHost = RemoteIP
Winsock1.RemotePort = portnum
Winsock1.Connect
DoEvents
Winsock1.Close
Else
MsgBox "请指定端口号!"
End If
End SubPrivate Sub btn1_Click()
RemoteIP = ipstart.Text
Call ScanningPorts
End SubPrivate Sub Winsock1_Connect()
MsgBox "此端口开启!!"
End Sub问两个问题:
我在用winsock编程的时候,测试端口用的是135,可是在点击按钮以后,有时就触发了connect事件,有时不触发,我就加了句 MsgBox "开始" ,这样就可以每次都触发。1.这是什么原因。该怎么解决,谢谢了!2.是不是用connect进行连接,即使端口开启,也不是每次都可以连接成功的?
2.是的,服务器有权也有可能拒绝你的连接
MsgBox "此端口开启!!"
Winsock1.Close
End Sub
on error resume next
if winsock1.state<>0 then Winsock1.Close
Winsock1.RemoteHost = ipstart.Text
If Err.Number <> 0 Then MsgBox Err.Description: Err.Clear: Exit Sub
Winsock1.RemotePort = Text1.Text
If Err.Number <> 0 Then MsgBox Err.Description: Err.Clear: Exit Sub
Winsock1.Connect
If Err.Number <> 0 Then MsgBox Err.Description: Err.Clear: Exit Sub
End SubPrivate Sub btn1_Click()
Call ScanningPorts
End SubPrivate Sub Winsock1_Connect()
Winsock1.Close
MsgBox "此端口开启!!"
End Sub