Сообщение от
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);
легко можно записать так:
Ну я детально не разбирал, наверно там еще есть ченить интересное. А так вообще сервер норм, пригоден для тыренья порнухи в локалке, да. Только опять жже почему вы все делаете на потоках? microsoft предоставила уйму API чтобы вы так не делали: WSAEventSelect, WSAAsyncSelect и много других. А вы вот предпочитаете юзать самую примитивную модель сетевого приложения
PS вы тут писали:
язык программирования - С++
это не С++ а С