Проверка порта на соединение по нему
Иногда существует необходимость проверить какой-либо порт на возможность соединения по нему с указанным IP-адресом с заданием таймаута. Данную задачу можно выполнить с помощью следующего кода:
//---------------------------------------------------------------------------
#pragma hdrstop
#include <stdio.h>
#include <winsock2.h>
//---------------------------------------------------------------------------
#pragma argsused
int main(int argc, char* argv[])
{
WSADATA WSAData;
SOCKET Client = INVALID_SOCKET;
SOCKADDR_IN rmTCP;
char *c; if (!WSAStartup(MAKEWORD(1,1), &WSAData)){
printf("WSA started successfully!\r\n");
Client = socket (AF_INET,SOCK_STREAM,0);
rmTCP.sin_family = AF_INET;
rmTCP.sin_addr.s_addr = inet_addr("10.7.7.50");
rmTCP.sin_port = htons (23);
if (connect (Client, (struct sockaddr *)&rmTCP,sizeof(rmTCP)) !=0)
{
Client = INVALID_SOCKET;
printf("client error!\r\n");
}
else printf("client connected!\r\n");
shutdown(Client,4);
WSACleanup();
}
else{
printf("WSA startup error!");
};
gets(c);
return 0;}