Страница: 1 |
Вопрос: Работа с портами | Добавлено: 15.07.05 11:13 |
Автор вопроса: ![]() |
Ответьте, пожалуйста, на один из вопросов.
1. Как проверить открыть порт или нет? 2. Как проверить соединение с Net'ом? 3. Как пропинговать хост (программно)? |
Ответы | Всего ответов: 5 |
Номер ответа: 1 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ICQ: 197368786 Вопросов: 6 Ответов: 91 |
Профиль | Цитата | #1 | Добавлено: 15.07.05 12:49 |
1. попробовать подключится к ниму(прослушка) если получилось значит порт свободен(закрыт)
2. порыскай в нете куча примеров (apiфункцией или реестром) 3. в нете есть исходник использует icmp.dll |
Номер ответа: 2 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Разработчик Offline Client ICQ: 343368641 Вопросов: 17 Ответов: 686 |
Web-сайт: Профиль | Цитата | #2 | Добавлено: 15.07.05 20:39 |
3. Const SOCKET_ERROR = 0
Private Type WSAdata 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 Type Hostent h_name As Long h_aliases As Long h_addrtype As Integer h_length As Integer h_addr_list As Long End Type Private Type IP_OPTION_INFORMATION TTL As Byte Tos As Byte Flags As Byte OptionsSize As Long OptionsData As String * 128 End Type Private Type IP_ECHO_REPLY Address(0 To 3) As Byte Status As Long RoundTripTime As Long ![]() Reserved As Integer data As Long Options As IP_OPTION_INFORMATION End Type Private Declare Function GetHostByName Lib "wsock32.dll" Alias "gethostbyname" (ByVal HostName As String) As Long Private Declare Function WSAStartup Lib "wsock32.dll" (ByVal wVersionRequired&, lpWSAdata As WSAdata) As Long Private Declare Function WSACleanup Lib "wsock32.dll" () As Long Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (hpvDest As Any, hpvSource As Any, ByVal cbCopy As Long) Private Declare Function IcmpCreateFile Lib "icmp.dll" () As Long Private Declare Function IcmpCloseHandle Lib "icmp.dll" (ByVal HANDLE As Long) As Boolean Private Declare Function IcmpSendEcho Lib "ICMP" (ByVal IcmpHandle As Long, ByVal DestAddress As Long, ByVal RequestData As String, ByVal RequestSize As Integer, RequestOptns As IP_OPTION_INFORMATION, ReplyBuffer As IP_ECHO_REPLY, ByVal ReplySize As Long, ByVal TimeOut As Long) As Boolean Private Sub Form_Load() 'KPD-Team 2000 'URL: http://www.allapi.net/ 'E-Mail: KPDTeam@Allapi.net Const HostName = "www.allapi.net" Dim hFile As Long, lpWSAdata As WSAdata Dim hHostent As Hostent, AddrList As Long Dim Address As Long, rIP As String Dim OptInfo As IP_OPTION_INFORMATION Dim EchoReply As IP_ECHO_REPLY Call WSAStartup(&H101, lpWSAdata) If GetHostByName(HostName + String(64 - Len(HostName), 0)) <> SOCKET_ERROR Then CopyMemory hHostent.h_name, ByVal GetHostByName(HostName + String(64 - Len(HostName), 0)), Len(hHostent) CopyMemory AddrList, ByVal hHostent.h_addr_list, 4 CopyMemory Address, ByVal AddrList, 4 End If hFile = IcmpCreateFile() If hFile = 0 Then MsgBox "Unable to Create File Handle" Exit Sub End If OptInfo.TTL = 255 If IcmpSendEcho(hFile, Address, String(32, "A" ![]() rIP = CStr(EchoReply.Address(0)) + "." + CStr(EchoReply.Address(1)) + "." + CStr(EchoReply.Address(2)) + "." + CStr(EchoReply.Address(3)) Else MsgBox "Timeout" End If If EchoReply.Status = 0 Then MsgBox "Reply from " + HostName + " (" + rIP + " ![]() Else MsgBox "Failure ..." End If Call IcmpCloseHandle(hFile) Call WSACleanup End Sub 2. посмотреть форум или раздел примеров. 1. попробовать законнектится к порту... з.ы. как-то странно я на вопрос ответил... к чему бы ето... |
Номер ответа: 3 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Вопросов: 68 Ответов: 62 |
Web-сайт: Профиль | Цитата | #3 | Добавлено: 16.07.05 11:46 |
If IcmpSendEcho(hFile, Address, String(32, "A" ![]() rIP = CStr(EchoReply.Address(0)) + "." + CStr(EchoReply.Address(1)) + "." + CStr(EchoReply.Address(2)) + "." + CStr(EchoReply.Address(3)) Else MsgBox "Timeout" End If В этом месте срабатывает MsgBox "Timeout" .
|
Номер ответа: 4 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Вопросов: 68 Ответов: 62 |
Web-сайт: Профиль | Цитата | #4 | Добавлено: 16.07.05 12:06 |
Теперь работает. Иногда пингует, иногда нет. |
Номер ответа: 5 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Разработчик Offline Client ICQ: 343368641 Вопросов: 17 Ответов: 686 |
Web-сайт: Профиль | Цитата | #5 | Добавлено: 18.07.05 18:34 |
ну значит пингуемых хост тормозит ![]() ![]() |
Страница: 1 |
|