Задача узнать открыт ли определённый порт на определённом IP.
Пробовал вариант 1:
| Код | Private Sub Command1_Click()
Adress = Text1.Text & "." & Text2.Text & "." & Text3.Text & "." & Text4.Text
Winsock1.RemoteHost = Adress Winsock1.RemotePort = Text5.Text Winsock1.Connect If Winsock1.State <> sckClosed Then
Text6.Text = Adress & vbCrLf
Else
End If
End Sub
|
Где из
| Код | Text1.Text & "." & Text2.Text & "." & Text3.Text & "." & Text4.Text
|
составляется IP адрес,Text5.Text номер порта,в Text6.Text записывается IP с открытым портом. В итоге в Text6.Text пишется люьой адрес,который сканируется.
Вариант 2:
| Код | Private Sub Form_Load() Dim w w = ipstart(0) & "." & ipstart(1) & "." & ipstart(2) & "." & ipstart(3) Winsock.RemoteHost = ipstart(0) & "." & ipstart(1) & "." & ipstart(2) & "." & ipstart(3) Winsock.RemotePort = 5896 End Sub
Private Sub Start_Click()
Winsock.Connect w, 5896 If Winsock1.State <> sckClosed Then
Text1.Text = w & vbCrLf
Else
End If
End Sub
|
Здесь чуть намудрено с w,но смысл вроде не теряется.И используется массив. В данном случае вообще ничего не выводится.
Если не сложно,напишите правильный вариант для одного IP по одному порту, с выводом IP с открытым портом И/или объясните в чём ошибка. В учебниках простого объяснения не нашёл,опыт программирования мягко говоря минимальный. |