Показать сообщение отдельно

  #8  
Старый 13.01.2007, 16:34
Dude03
Познающий
Регистрация: 05.10.2006
Сообщений: 56
Провел на форуме:
227465

Репутация: 42
По умолчанию

Цитата:
Сообщение от _Great_  
Боян в принципе.. ну ладно, в честь нг пару плюсиков дам.

KSURi, ыыы )

Код:
main()
{
int fd;
struct sockaddr_in sa;
int i;

#ifndef _WIN32
#define closesocket close
WSADATA w; WSAStartup(0x202, &w);
#endif

memset(&sa.sin_zero, 0, 8);
sa.sin_addr.s_addr = inet_addr("127.0.0.1");
sa.sin_family = AF_INET;

for(i=1;i<65536;i++)
{
  fd = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
  sa.sin_port = htons(i);
  if(connect(fd, (struct sockaddr*)&sa, sizeof(sa)) != -1)
    printf("%d\n", i);
  closesocket(i);
}
}
быстрее будет, если использовать неблокирующие сокеты и потом "собрать" все select'ом