
20.07.2007, 09:18
|
|
Флудер
Регистрация: 27.12.2005
Сообщений: 2,372
Провел на форуме: 5339610
Репутация:
4360
|
|
Открыл код... сразу бросилась в глаза передача сокетов по ссылке.. вопрос - нафига?
Далее
if(!strcmp(cStatServ,"Start Server"))
это жесть. Ставить флаг быстрее будет
Код:
struct sockaddr_in saddr;
saddr.sin_family=AF_INET;
saddr.sin_port=htons(port);
saddr.sin_addr.s_addr=htonl(INADDR_ANY);
if(bind(*s,(sockaddr*)&saddr,sizeof(struct sockaddr))==SOCKET_ERROR)
1) А кто очистит sin_zero ?
2) Нафига делать htonl(INADDR_ANY)? Тем более что inaddr_any=0
3) не sizeof(struct sockaddr), а sizeof(struct sockaddr_in).
Код:
do
{
int i=recv(sSock,cTemp,iSize,0);
if(i<1)
return iResult;
iResult+=i;
cTemp+=i;
iSize-=i;
}
while(strncmp(cBuf+iResult-4,"\r\n\r\n",4));
Переполнение буфера.
Код:
struct sockaddr_in saddr;
saddr.sin_family=AF_INET;
saddr.sin_port=htons(HTTP_PORT);
if((saddr.sin_addr.s_addr=inet_addr("cHost"))==INADDR_NONE)
{
Ой это вообще без комментариев. Это не работает 100%. Что называется "полный П"
|
|
|