Сейчас на форуме: zombi-vadim, tyns777 (+5 невидимых)

 eXeL@B —› Программирование —› Ищу код ...xxx
Посл.ответ Сообщение


Ранг: 673.3 (! !), 400thx
Активность: 0.40.31
Статус: Участник
CyberMonk

Создано: 24 ноября 2007 19:21
· Личное сообщение · #1

Ищу код рабочий на асме не имеет роли сложный или нет , код передачи большого количества данных в интернете , например 300 раз одну и ту же строчку , для примера с гарантированной доставкой 300 строчек , плиз оч. надо ...

Еще может у кого есть на АСМ файлы по виртуализации аппартаной ... Можно личным сообщением сообщить . Спасибо ...

-----
RE In Progress [!] Coding Hazard [!] Stay Clear of this Cube




Ранг: 38.2 (посетитель)
Активность: 0.020
Статус: Участник

Создано: 24 ноября 2007 22:28
· Личное сообщение · #2

Не вирус ли ты собрался писать? Почему тебя не устраивает на СИ или Паскале?
'большого количества данных ' в 'интернете' или из вируса?




Ранг: 673.3 (! !), 400thx
Активность: 0.40.31
Статус: Участник
CyberMonk

Создано: 25 ноября 2007 00:49
· Личное сообщение · #3

Вирус??? не надо меня так опускать , уж вирус то школьник на асме напишет любой . Уточняю платформа клиент сервер для активного обмена инфой паскаль крупный а си не знаком. Почему? потому что не один клиент в интернете не работает ...описание сырое даже отстойное ..а такие вещи приват ..поэтому прошу...

-----
RE In Progress [!] Coding Hazard [!] Stay Clear of this Cube





Ранг: 387.4 (мудрец)
Активность: 0.170
Статус: Участник
системщик

Создано: 25 ноября 2007 07:47
· Личное сообщение · #4

mak, ты же уже два раза поднимал тему сокетов и буферов. Мы тебе всё разжёвывали, даром что код не написали. И что?




Ранг: 673.3 (! !), 400thx
Активность: 0.40.31
Статус: Участник
CyberMonk

Создано: 25 ноября 2007 13:45
· Личное сообщение · #5

s0larian нееее работает ниии в какую , разжовывали на Си, это время я всю книгу перешерстил Сняйдер Эфективное програмирование ТСП ИП ..Мне помогли с кодом дали код , но оказалось даже тот код с протоколом рушится при передаче такого количества инфы , так что я не знаю у меня есть уже образ пакета посылаемого , но даже с накоплением в буфер , за это время я поменял 5 различных программ!!! та же программа на си кстати !!! Сделал мне друг строку все как полагается по книге тоже все ок ...и на 56 - 57 посыле все остальные пакеты просто исчезли хотя были отправлены успешно но даже часть пришла ...вот и прошу код , а что есть другой выбор ?

-----
RE In Progress [!] Coding Hazard [!] Stay Clear of this Cube





Ранг: 104.1 (ветеран)
Активность: 0.070
Статус: Участник
искатель истЕны

Создано: 25 ноября 2007 14:18
· Личное сообщение · #6

Тебе не код нужен, а психиатрическая лечебница.




Ранг: 673.3 (! !), 400thx
Активность: 0.40.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.140.02
Статус: Участник

Создано: 25 ноября 2007 16:07
· Личное сообщение · #8

mak пишет:
Вирус??? не надо меня так опускать , уж вирус то школьник на асме напишет любой

ты уверен, что у тебя настоко большой писюн?




Ранг: 673.3 (! !), 400thx
Активность: 0.40.31
Статус: Участник
CyberMonk

Создано: 25 ноября 2007 16:59
· Личное сообщение · #9

specz пишет:
mak пишет:
Вирус??? не надо меня так опускать , уж вирус то школьник на асме напишет любой
ты уверен, что у тебя настоко большой писюн?


Тебя волнует этот вопрос? хахаха Ну ты даешь ... одни маньяки

-----
RE In Progress [!] Coding Hazard [!] Stay Clear of this Cube




Ранг: 200.3 (наставник)
Активность: 0.090
Статус: Участник

Создано: 25 ноября 2007 17:24
· Личное сообщение · #10

Вкури это про сокеты http://www.wasm.ru/print.php?article=socketvssocket .

-----
Само плывет в pуки только то, что не тонет.





Ранг: 104.1 (ветеран)
Активность: 0.070
Статус: Участник
искатель истЕны

Создано: 25 ноября 2007 21:11
· Личное сообщение · #11

mak, а где я тебя оскорблял? я просто посоветовал обратиться к доктору.
Жесть это когда человек считает, что школьники пишут на асмах вири, а код по передачи данных является каким-то глубоким приватом и что пакеты каким-то образом могут блять теряться. Я даже подскажу доктора - хирург.




Ранг: 387.4 (мудрец)
Активность: 0.170
Статус: Участник
системщик

Создано: 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.40.31
Статус: Участник
CyberMonk

Создано: 26 ноября 2007 00:08
· Личное сообщение · #13

Paxan ПРОСТО советы оставь для Поиска истины, понятно говори так с кем хочешь но не со мной.

s0larian пасиб я посмотрю еще раз ...код на асм выше Си я не знаю ..ссори

-----
RE In Progress [!] Coding Hazard [!] Stay Clear of this Cube





Ранг: 387.4 (мудрец)
Активность: 0.170
Статус: Участник
системщик

Создано: 26 ноября 2007 03:01
· Личное сообщение · #14

mak, ну нет, отлаживать тебе асм - себя не уважать За меня это делает компилер.




Ранг: 673.3 (! !), 400thx
Активность: 0.40.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.170
Статус: Участник
системщик

Создано: 29 ноября 2007 20:53
· Личное сообщение · #16

mak, вообще, алго для приёма на клиенте простое - вызывай recv() в цикле, и всё. На сервере сложнее - вызываешь recv() только когда select() говорит что конкретный socket готов к чтению. Вызываешь recv() один раз, получаешь всё что есть, обрабатываешь целые сообщения, и сохраняешь остаток. Опять идёшь в select().




Ранг: 673.3 (! !), 400thx
Активность: 0.40.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



 eXeL@B —› Программирование —› Ищу код ...xxx
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати