Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
|
почему сканер так тормозит 17.12.01 01:16 Число просмотров: 1264
Автор: kabanchik Статус: Незарегистрированный пользователь
|
potomu chto ty sozdal "blocking socket", t.e. poka ne zavershit zapros, fig programma rabotat' budet.
t.e. pri connect(...), u tebya uxodit ujma vremeni, t.k. socket pytaetsya skonnektitsya, i mnogie porty prosto ne sushestvujut. a poka pytaetsya skonektitsya uxodit kucha vremeni - vot poetomu i tormozit vse.
hint: ispol'suj "nonblocking sockets".
udachi.
> почему программка такая тормознутая ее запускаешь а она > ноль эмоций. > и приходится очень долго ждать чтобы увидеть какой-то > результат > в чем трабл (в блокирующем connect) > #include <iostream.h> > #include <fstream.h> > #include <winsock.h> > main() > { > int err; > sockaddr_in addr; > WSADATA ws; > if(WSAStartup(0x101,)==SOCKET_ERROR) > { > cout<<"WSAStartup Error\n"; > WSACleanup(); > return 0; > } > > ofstream fout("log_scan.txt"); > SOCKET sock; > for(int i=0;i<1024;i++) > { > sock=socket(PF_INET,SOCK_STREAM,0); > if(sock==INVALID_SOCKET ) > { > cout<<"socket Error:\n"; > WSACleanup(); > fout.close(); > return 0; > } > > > addr.sin_addr.s_addr=inet_addr("195.66.204.102"); // > фуууууууу > addr.sin_port=htons(i); > addr.sin_family=AF_INET; > > > connect(sock,(sockaddr*),sizeof(addr)); > if(!=SOCKET_ERROR) > { > fout<<i<<" -- is > open\n"; > cout<<i<<" -- is > open\n"; > } > else > { > cout<<i<<" close\n"; > } > } > WSACleanup(); > fout.close(); > return 0; > }
|
<programming>
|
почему сканер так тормозит 13.12.01 20:32
Автор: делитант Статус: Незарегистрированный пользователь
|
почему программка такая тормознутая ее запускаешь а она ноль эмоций.
и приходится очень долго ждать чтобы увидеть какой-то результат
в чем трабл (в блокирующем connect)
#include <iostream.h>
#include <fstream.h>
#include <winsock.h>
main()
{
int err;
sockaddr_in addr;
WSADATA ws;
if(WSAStartup(0x101,&ws)==SOCKET_ERROR)
{
cout<<"WSAStartup Error\n";
WSACleanup();
return 0;
}
ofstream fout("log_scan.txt");
SOCKET sock;
for(int i=0;i<1024;i++)
{
sock=socket(PF_INET,SOCK_STREAM,0);
if(sock==INVALID_SOCKET )
{
cout<<"socket Error:\n";
WSACleanup();
fout.close();
return 0;
}
addr.sin_addr.s_addr=inet_addr("195.66.204.102"); // фуууууууу
addr.sin_port=htons(i);
addr.sin_family=AF_INET;
connect(sock,(sockaddr*)&addr,sizeof(addr));
if(!=SOCKET_ERROR)
{
fout<<i<<" -- is open\n";
cout<<i<<" -- is open\n";
}
else
{
cout<<i<<" close\n";
}
}
WSACleanup();
fout.close();
return 0;
}
|
|
почему сканер так тормозит 17.12.01 01:16
Автор: kabanchik Статус: Незарегистрированный пользователь
|
potomu chto ty sozdal "blocking socket", t.e. poka ne zavershit zapros, fig programma rabotat' budet.
t.e. pri connect(...), u tebya uxodit ujma vremeni, t.k. socket pytaetsya skonnektitsya, i mnogie porty prosto ne sushestvujut. a poka pytaetsya skonektitsya uxodit kucha vremeni - vot poetomu i tormozit vse.
hint: ispol'suj "nonblocking sockets".
udachi.
> почему программка такая тормознутая ее запускаешь а она > ноль эмоций. > и приходится очень долго ждать чтобы увидеть какой-то > результат > в чем трабл (в блокирующем connect) > #include <iostream.h> > #include <fstream.h> > #include <winsock.h> > main() > { > int err; > sockaddr_in addr; > WSADATA ws; > if(WSAStartup(0x101,)==SOCKET_ERROR) > { > cout<<"WSAStartup Error\n"; > WSACleanup(); > return 0; > } > > ofstream fout("log_scan.txt"); > SOCKET sock; > for(int i=0;i<1024;i++) > { > sock=socket(PF_INET,SOCK_STREAM,0); > if(sock==INVALID_SOCKET ) > { > cout<<"socket Error:\n"; > WSACleanup(); > fout.close(); > return 0; > } > > > addr.sin_addr.s_addr=inet_addr("195.66.204.102"); // > фуууууууу > addr.sin_port=htons(i); > addr.sin_family=AF_INET; > > > connect(sock,(sockaddr*),sizeof(addr)); > if(!=SOCKET_ERROR) > { > fout<<i<<" -- is > open\n"; > cout<<i<<" -- is > open\n"; > } > else > { > cout<<i<<" close\n"; > } > } > WSACleanup(); > fout.close(); > return 0; > }
|
|
|