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

  #7  
Старый 24.11.2009, 11:35
bons
Участник форума
Регистрация: 20.12.2007
Сообщений: 295
Провел на форуме:
1777055

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

Цитата:
Сообщение от ErrorNeo  
ахахха.

Да, bons, не думал, что ты настолько суров, чтобы ломать людей, ставить им веб-серваки, и все это - только для того, чтобы тырить у них порно!
когда-то писал подобную вещь для подобных целей, только это был ftp-сервер и на делфи(тоже в виде DLL). И знаете, у 95% это единственное ценное на винте.
По теме: slesh у вас там странный очень код:
Код:
len = recv(sock, tmp, 4096 - fulllen, 0); // считаем данные
if (len > 0) // если данных больше 0
{
	tmp = (char*)((ULONG)tmp + (ULONG)len); // переместим указатель в нутри буфера
	fulllen += len; // сумарный размер 
}
вот здесь принимаются данные и по логике переменная fulllen вполне может оказаться равной 4096. А здесь
Код:
input_buf[fulllen] = 0x00;
в таком случае будет обнулен уже не элемент массива input_buf а нечто другое. А содержимое input_buf уже будет не ASCIIZ-строкой. Возможно это фигня и ничего плохого из-за этого не случится(я не смотрел дальше) но все же неприятно
Еще не совсем понятно зачем переписывать стандатртную функцию strstr.
Начало функции my_strstr мне тоже нравится
Код:
char *cp = (char *) str1;
Зачем вы тут приводите типы? обе переменные типа char* и приведение тут совсем не нужно. И не только тут. Например строчку
Код:
tmp = (char*)((ULONG)tmp + (ULONG)len);
легко можно записать так:
Код:
tmp += len;
Ну я детально не разбирал, наверно там еще есть ченить интересное. А так вообще сервер норм, пригоден для тыренья порнухи в локалке, да. Только опять жже почему вы все делаете на потоках? microsoft предоставила уйму API чтобы вы так не делали: WSAEventSelect, WSAAsyncSelect и много других. А вы вот предпочитаете юзать самую примитивную модель сетевого приложения

PS вы тут писали:
Цитата:
язык программирования - С++
это не С++ а С

Последний раз редактировалось bons; 24.11.2009 в 11:50..
 
Ответить с цитированием