Посл.ответ |
Сообщение |
 Ранг: 673.3 (! !), 400thx Активность: 0.4↘0.31 Статус: Участник CyberMonk
|
Создано: 24 ноября 2007 19:21 · Личное сообщение · #1 |
|
Ранг: 38.2 (посетитель) Активность: 0.02↘0 Статус: Участник
|
Создано: 24 ноября 2007 22:28 · Личное сообщение · #2
Не вирус ли ты собрался писать? Почему тебя не устраивает на СИ или Паскале?
'большого количества данных ' в 'интернете' или из вируса?
| Сообщение посчитали полезным: |
 Ранг: 673.3 (! !), 400thx Активность: 0.4↘0.31 Статус: Участник CyberMonk
|
Создано: 25 ноября 2007 00:49 · Личное сообщение · #3
Вирус??? не надо меня так опускать , уж вирус то школьник на асме напишет любой  . Уточняю платформа клиент сервер для активного обмена инфой паскаль крупный а си не знаком. Почему? потому что не один клиент в интернете не работает ...описание сырое даже отстойное ..а такие вещи приват ..поэтому прошу...
----- RE In Progress [!] Coding Hazard [!] Stay Clear of this Cube | Сообщение посчитали полезным: |
 Ранг: 387.4 (мудрец) Активность: 0.17↘0 Статус: Участник системщик
|
Создано: 25 ноября 2007 07:47 · Личное сообщение · #4
mak, ты же уже два раза поднимал тему сокетов и буферов. Мы тебе всё разжёвывали, даром что код не написали. И что?
| Сообщение посчитали полезным: |
 Ранг: 673.3 (! !), 400thx Активность: 0.4↘0.31 Статус: Участник CyberMonk
|
Создано: 25 ноября 2007 13:45 · Личное сообщение · #5
s0larian нееее работает ниии в какую , разжовывали на Си, это время я всю книгу перешерстил Сняйдер Эфективное програмирование ТСП ИП ..Мне помогли с кодом дали код , но оказалось даже тот код с протоколом рушится при передаче такого количества инфы , так что я не знаю у меня есть уже образ пакета посылаемого , но даже с накоплением в буфер , за это время я поменял 5 различных программ!!! та же программа на си кстати !!! Сделал мне друг строку все как полагается по книге тоже все ок ...и на 56 - 57 посыле все остальные пакеты просто исчезли хотя были отправлены успешно но даже часть пришла ...вот и прошу код , а что есть другой выбор ?
----- RE In Progress [!] Coding Hazard [!] Stay Clear of this Cube | Сообщение посчитали полезным: |
 Ранг: 104.1 (ветеран) Активность: 0.07↘0 Статус: Участник искатель истЕны
|
Создано: 25 ноября 2007 14:18 · Личное сообщение · #6
Тебе не код нужен, а психиатрическая лечебница.
| Сообщение посчитали полезным: |
 Ранг: 673.3 (! !), 400thx Активность: 0.4↘0.31 Статус: Участник CyberMonk
|
Создано: 25 ноября 2007 15:23 · Личное сообщение · #7
Paxan
Да ??? а ты знаешь что на форуме оскрарбления запрещены , да и к тому же форум для того чтобы помогать или обсуждать?! Похоже нет . Если по умнее коментария не мог оставить то сиди тихо и все. Жесть это каким надо быть чтобы такое написать )))))) жаль мне тебя
Вот короче код на локалке работает на ура в сети же иногда пакеты теряются... be81_25.11.2007_CRACKLAB.rU.tgz - peresilka.rar
----- RE In Progress [!] Coding Hazard [!] Stay Clear of this Cube | Сообщение посчитали полезным: |
 Ранг: 44.2 (посетитель), 69thx Активность: 0.14↘0.02 Статус: Участник
|
Создано: 25 ноября 2007 16:07 · Личное сообщение · #8
mak пишет:
Вирус??? не надо меня так опускать , уж вирус то школьник на асме напишет любой
ты уверен, что у тебя настоко большой писюн?
| Сообщение посчитали полезным: |
 Ранг: 673.3 (! !), 400thx Активность: 0.4↘0.31 Статус: Участник CyberMonk
|
Создано: 25 ноября 2007 16:59 · Личное сообщение · #9
specz пишет:
mak пишет:
Вирус??? не надо меня так опускать , уж вирус то школьник на асме напишет любой
ты уверен, что у тебя настоко большой писюн?
 Тебя волнует этот вопрос?  хахаха Ну ты даешь ... одни маньяки
----- RE In Progress [!] Coding Hazard [!] Stay Clear of this Cube | Сообщение посчитали полезным: |
Ранг: 200.3 (наставник) Активность: 0.09↘0 Статус: Участник
|
Создано: 25 ноября 2007 17:24 · Личное сообщение · #10
Вкури это про сокеты http://www.wasm.ru/print.php?article=socketvssocket .
----- Само плывет в pуки только то, что не тонет. | Сообщение посчитали полезным: |
 Ранг: 104.1 (ветеран) Активность: 0.07↘0 Статус: Участник искатель истЕны
|
Создано: 25 ноября 2007 21:11 · Личное сообщение · #11
mak, а где я тебя оскорблял? я просто посоветовал обратиться к доктору.
Жесть это когда человек считает, что школьники пишут на асмах вири, а код по передачи данных является каким-то глубоким приватом и что пакеты каким-то образом могут блять теряться. Я даже подскажу доктора - хирург.
| Сообщение посчитали полезным: |
 Ранг: 387.4 (мудрец) Активность: 0.17↘0 Статус: Участник системщик
|
Создано: 25 ноября 2007 23:13 · Личное сообщение · #12
mak, у тебя просто в коде несколько багов. Разница между локалкой и инетом в bandwidth и latency. И то и другое приводит к тому что появляются задержки. При приёме ты иногда получаешь несколько маленьких кусочков, иногда большой кусок данных. Я тебе уже говорил, TCP протокол не знает про твои строки и оперирует потоками байтов гарантируя доставку и последовательность. В зависибости от загрузки канала и проца, твой код может получать по одному пакету (~1500 байт) или на много больше, если данные скопились в буфере.
Поэтому, беда скорее всего в кровой реализации приёма. В случае с blocking sockets, recv() надо делать в буфер, и делать это надо в цикле, то есть бесконечно. Функция вернёт кол-во байтов записаное в твой буфер. Ты должен обработать данные и вызвать recv() опять. След. момент - тебе нужена простейшая структура "сообщения": type, size, data.... Ещё момент - поставь setsockopt(SO_RCVBUF) в 1 байт что б выключить буферизацию внутри TCP.
Ну, и финально, в н-ный раз, С код в студию, если хочешь помощи.
| Сообщение посчитали полезным: |
 Ранг: 673.3 (! !), 400thx Активность: 0.4↘0.31 Статус: Участник CyberMonk
|
Создано: 26 ноября 2007 00:08 · Личное сообщение · #13
Paxan ПРОСТО советы оставь для Поиска истины, понятно говори так с кем хочешь но не со мной.
s0larian пасиб я посмотрю еще раз ...код на асм выше Си я не знаю ..ссори
----- RE In Progress [!] Coding Hazard [!] Stay Clear of this Cube | Сообщение посчитали полезным: |
 Ранг: 387.4 (мудрец) Активность: 0.17↘0 Статус: Участник системщик
|
Создано: 26 ноября 2007 03:01 · Личное сообщение · #14
mak, ну нет, отлаживать тебе асм - себя не уважать  За меня это делает компилер.
| Сообщение посчитали полезным: |
 Ранг: 673.3 (! !), 400thx Активность: 0.4↘0.31 Статус: Участник CyberMonk
|
Создано: 29 ноября 2007 16:55 · Поправил: mak · Личное сообщение · #15
Вроде нашел ошибку в приеме ... при FD_read если даже пришло много инфы читается 1 раз ...протокол снимает только меньше либо равно 1048 , следовательно каждое событие по 1048< пройдет , а когда придет много, то тогда 1 раз чтение а остальное не читается...поэтому не доходит. Лень делать что то более конкретное , может позже прием всего в буфер а потом расскладка. Но сейчас так делал
mnogo:
INVOKE ioctlsocket, socketDESCRIPTOR, FIONREAD, ADDR availablData
.IF eax==NULL
.IF availablData<=1048
INVOKE ProcessIncoming
jmp dzen
.ENDIF
INVOKE ProcessIncoming
invoke MessageBox,0,errs,eax,MB_OK
jmp mnogo
.ENDIF
dzen:
ret
это срабатывает при фд рид , если более чем 1048 то повтор приема , но опять при приеме не все доходит , больше конечно , но не все.
ну да это вопрос личный , я себя уважаю и отлаживаю на асме. Знакомый на Атомной станции тоже отлаживает и еще много кто , нравится не нравится. Ну а вообще да , нафиг те надо отлаживать разбираться влом...
----- RE In Progress [!] Coding Hazard [!] Stay Clear of this Cube | Сообщение посчитали полезным: |
 Ранг: 387.4 (мудрец) Активность: 0.17↘0 Статус: Участник системщик
|
Создано: 29 ноября 2007 20:53 · Личное сообщение · #16
mak, вообще, алго для приёма на клиенте простое - вызывай recv() в цикле, и всё. На сервере сложнее - вызываешь recv() только когда select() говорит что конкретный socket готов к чтению. Вызываешь recv() один раз, получаешь всё что есть, обрабатываешь целые сообщения, и сохраняешь остаток. Опять идёшь в select().
| Сообщение посчитали полезным: |
 Ранг: 673.3 (! !), 400thx Активность: 0.4↘0.31 Статус: Участник CyberMonk
|
Создано: 09 декабря 2007 04:42 · Личное сообщение · #17
mnogo:
nop
INVOKE ioctlsocket, socketDESCRIPTOR, FIONREAD, ADDR availablData
.IF eax==NULL
.IF SDELANO==TRUE
jmp SLE
.ELSE
invoke AllocMem,0800000h ;alloc 8MB
mov AllocedMemory,eax ;adress of memory which will be send
mov shetchik,eax
mov hMemorys,eax
INVOKE GlobalLock, eax
invoke RtlZeroMemory,AllocedMemory,0800000h
mov SDELANO,TRUE
.ENDIF
SLE:
INVOKE recv, socketDESCRIPTOR, shetchik, availablData, 0
.if eax==SOCKET_ERROR
invoke MessageBox,0,addr errs,addr errs,MB_OK
jmp mnogo2; тут ничего не меняет так как на выходе идут проверки и если не подходит то выход
.elseif eax==0
invoke MessageBox,0,addr errs,addr errs,MB_OK
jmp mnogo2
.endif
add shetchik,eax ;Добавляем размер прринятых данных в счетчик для дальнейшего приема
mov eax,AllocedMemory; вычисляем длину общую все данных принятых для сканирования
mov ebx,shetchik
sub ebx,eax
mov ecx,ebx
mov edx, AllocedMemory
@@test_q:
cmp byte ptr [edx], '<'
je @@test_u ; если есть символ то идем на парсинг ... этот символ в самом конце приходит, т.е. ждем пока все придет, если нет выход
;jmp @@parse_it
inc edx
loop @@test_q
jmp mnogo2
@@test_u:
TOP:
.ENDIF
TOP2:
mov eax,AllocedMemory
add eax,20
invoke MessageBox,0,eax,addr errs,MB_OK ; Вот тут ошибка ....все время мессадж бокс показывает не те данные начинаться должно с названия диска
; invoke MessageBox,0,addr errs,eax,MB_OK
mov eax,AllocedMemory ; Получаем длинну всего пакета
add eax,16
mov ebx,dword ptr [eax]
;mov eax,AllocedMemory
mov eax,0
add eax,ebx
add eax,4+4+4+4+4+4 ; Получаем длинну всего пакета с служебной инфой Пакет полный размер
mov ecx,eax
mov ebx,eax; Сохраняем размер пакета
;add AllocedMemory,eax
mov esi,AllocedMemory
lea edi,offset packetBUFFER
;cld
FG2:
movs byte ptr es:[edi],ds:[esi]; Пересылаем в буффер
loop FG2
add AllocedMemory,ebx; Сдвигаем на начало следующего пакета
jmp mnogo2; идем на парсинг скопированного пакета, после парсинга переход на метку ТОП2 если же в парсинге не прошла операция гекоператион то выход и очистка всего
; Иначе на входе в топ2 мы получаем начало следующего пакета и парсируем дальше, проблема в том что данные после окончательно прихода странно расположены массадж бокс показывает
; не верно , далее 1 сд вставляется а все остальные нет .... все рачеты по пакету сделаны верно на 100 процентов где ошибка не пойму ....
Тут походу есть описание ошибки где не могу справиться.... и еще в приложении все ... Гляньте ПЛЗ 4c0f_08.12.2007_CRACKLAB.rU.tgz - peresilka2.rar
----- RE In Progress [!] Coding Hazard [!] Stay Clear of this Cube | Сообщение посчитали полезным: |