Текущий архив: 2004.05.23;
Скачать: CL | DM;
Внизrecv не верно возвращает колличество принятых байт. Найти похожие ветки
← →
Rezya © (2004-03-30 19:03) [0]Сразу приведу код.
const
MAX_PACKET_SIZE=1024;
var
buffer: array [0..MAX_PACKET_SIZE-1] of byte;
res:integer;
......
......
......
res:=recv(Sock, Buffer, SizeOf(Buffer), 0);
проблема в том что recv то правельно возвращает колличество принятых байт (т.е. if res >= SizeOf(IPHeader) then где IPHeader структура ip-заголовка)то возвращает 1. В чем проблема?
← →
Verg © (2004-03-30 21:51) [1]Почему ты решил, что максимальный размер принимаемой датаграммы равен именно 1024 ?
Кто такой Sock? Ты, вообще, учиться чем-нибудь собираешься? Хотя бы задавать вопросы...
← →
Rezya © (2004-03-30 23:53) [2]Для не сообразительных
Var
Sock:TSocket;
........
Sock:=Socket(Af_Inet,SOCK_RAW,IPPROTO_IP);
← →
Rouse_ © (2004-03-31 01:17) [3]Во первых: Приведенного кода недостаточно для определения ошибки...
Во вторых, как верно указал Андрей, 1024 было взято тобой похоже с потолка...
В третьих - не мешает сделать WSAGetLastError после получения результатом единицы...
← →
Verg © (2004-03-31 08:32) [4]
> Rouse_ © (31.03.04 01:17) [3]
Почти уверен, что не 1-цы, а минус 1-цы, т.е. SOCKET_ERROR
← →
Rezya © (2004-03-31 09:11) [5]Да нет как раз 1.
← →
Verg © (2004-03-31 09:41) [6]
> Rezya © (31.03.04 09:11) [5]
> Да нет как раз 1.
Да нет, чудеса ты рассказываешь. Такого не бывает.
Говорят тебе 1024 - это мало для IP датаграммы, и когда этого не хватает у тебя recv и возвращает SOCKET_ERROR (-1) с WSAGetLastError = WSAEMSGSIZE.
Либо глючные у тебя винды какие-то. Переустанови, сервиспаки там всякие.
Либо.... либо все же, как говорится, "протри глаза".
← →
Rouse_ © (2004-03-31 10:18) [7]Ну хорошо - давай будем плясать от противного, пусть возвращяет единицу - тогда что содержится в буфере после этого?
← →
Rezya © (2004-03-31 16:42) [8]Ладно закрыли тему. Все у меня зарабатало(наверно глюк в виндах).
Теперь вернусь к старой теме. Как делается перехват иходящего трафика. И фишка с SIO_RCVALL =$98000001; т.е. с тем что она переводит сокет в режим полного перехвата у меня и на сетевухе тоже не пошла.
P.S. Народ ну помогите с перехватом исходящего трафика. Начальник не "слезает". Он как делается через прокс или другими способами???
← →
Verg © (2004-03-31 17:11) [9]Короче, послать тебя на WinPCap тебя мне, лично, религия позволяет.
Как тебе?
← →
Rezya © (2004-04-01 02:15) [10]Если такой умный то приведы код, хотябы самый простой, с использованием библиотеки WinPCap.
Зарание благодарен
Страницы: 1 вся ветка
Текущий архив: 2004.05.23;
Скачать: CL | DM;
Память: 0.46 MB
Время: 0.043 c