delphi tcp соединения

vasili 25.06.2004 - 13:28 | как получить список соединений, аналогичный тому, который выводится по команде netstat?
vasili 1 - 25.06.2004 - 13:35 | ?
vasili 2 - 25.06.2004 - 14:21 | ?
vasili 3 - 25.06.2004 - 15:53 | .
Старый UE 4 - 26.06.2004 - 04:21 | Я думаю, что есть смысл посмотреть, какие функции данная утилита импортирует, а потом глянуть на их описание в MSDN. Если ответ очевидным не станет, то погонять утилитку под отладчиком.
yeziz 5 - 26.06.2004 - 23:15 | Посмотри в МСДН. Там есть статья про библиотеку нижнего уровня. Ключевое слово: что-то типа SetTCPState или SetTcpStatus. Библиотека называется типа iphlapi. Точнее не помню. Если интересно, завтра на работе посмотрю и отвечу.
vasili 6 - 27.06.2004 - 00:01 | МСДН то оно хорошо когда на С++, а если в delphi нет библиотеки, то какой толк?
Старый UE 7 - 27.06.2004 - 00:54 | 2vasili, ну это совсем не проблема. Вот глянь например на куски кода из windows.pas: --- function CreateWindowExA(dwExStyle: DWORD; lpClassName: PAnsiChar; lpWindowName: PAnsiChar; dwStyle: DWORD; X, Y, nWidth, nHeight: Integer; --- function CreateWindowExA; external user32 name 'CreateWindowExA'; --- Так можно любую функцию заюзать из внешней
Старый UE 8 - 27.06.2004 - 00:55 | 2vasili, ну это совсем не проблема. Вот глянь например на куски кода из windows.pas: --- function CreateWindowExA(dwExStyle: DWORD; lpClassName: PAnsiChar; lpWindowName: PAnsiChar; dwStyle: DWORD; X, Y, nWidth, nHeight: Integer; --- function CreateWindowExA; external user32 name 'CreateWindowExA'; --- Так можно любую функцию заюзать из dll-ки, и из iphlapi.dll в том числе ;)
vasili 9 - 27.06.2004 - 09:03 | Че то я такой dll-ки не нашел (Windows XP) :-(
yeziz 10 - 27.06.2004 - 10:30 | Это кусок MSDNа. Про использование тебе Старый UE написал и, похоже, правильно. GetTcpStatistics The GetTcpStatistics function retrieves the TCP statistics for the local computer. DWORD GetTcpStatistics( PMIB_TCPSTATS pStats ); Parameters pStats [out] Pointer to a MIB_TCPSTATS structure that receives the TCP statistics for the local computer. Return Values If the function succeeds, the return value is NO_ERROR. If the function fails, use FormatMessage to obtain the message string for the returned error. Remarks Windows Server 2003 and Windows XP: Use the GetTcpStatisticsEx function to obtain the TCP statistics for the IPv6 protocol. Example Code The following example retrieves the TCP statistics for the local computer and prints values from the returned data. PMIB_TCPSTATS pTCPStats; DWORD dwRetVal = 0; pTCPStats = (MIB_TCPSTATS*) malloc (sizeof(MIB_TCPSTATS)); if ((dwRetVal = GetTcpStatistics(pTCPStats)) == NO_ERROR) { printf("\tActive Opens: %ld\n", pTCPStats->dwActiveOpens); printf("\tPassive Opens: %ld\n", pTCPStats->dwPassiveOpens); printf("\tSegments Recv: %ld\n", pTCPStats->dwInSegs); printf("\tSegments Xmit: %ld\n", pTCPStats->dwOutSegs); printf("\tTotal # Conxs: %ld\n", pTCPStats->dwNumConns); } else { printf("Error getting TCP Stats.\n"); LPVOID lpMsgBuf; if (FormatMessage( FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS, NULL, dwRetVal, MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), // Default language (LPTSTR) &lpMsgBuf, 0, NULL )) { printf("\tError: %s", lpMsgBuf); } LocalFree( lpMsgBuf ); } Requirements Client: Requires Windows XP, Windows 2000 Professional, Windows NT Workstation 4.0 SP4 and later, Windows Me, or Windows 98. Server: Requires Windows Server 2003, Windows 2000 Server, or Windows NT Server 4.0 SP4 and later. Header: Declared in Iphlpapi.h. Library: Use Iphlpapi.lib.
yeziz 11 - 27.06.2004 - 10:33 | Это не dll, это библиотека статическая (lib). 2 Старый UE: как заюзать ЛИБ в дельфи не знаешь?
? 12 - 27.06.2004 - 13:28 | хмм, функции Win32 реализованы не в либах а в dll, файлы lib (в данном случаи) используется для создания ссылок на использование dll, в Delphi вместо lib, если tpu файлы, только для GetTcpStatistics в Delpi6 я что то не нашёл, но тогда описывай прототип функции и подключай динамически.
yeziz 13 - 27.06.2004 - 15:18 | Не знаю, как это точно делается в дельфи, но dll такой точно есть, значит можно из него импортировать функцию. Так и называется Iphlpapi.dll. Находится в system32

>>