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

  #9  
Старый 20.07.2007, 09:18
_Great_
Флудер
Регистрация: 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%. Что называется "полный П"
 
Ответить с цитированием