Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Socket, алгоритм склеивания данных (http://www.flasher.ru/forum/showthread.php?t=149827)

XBEEN 01.02.2011 14:06

Socket, алгоритм склеивания данных
 
Доброго времени суток!

Подскажите, пожалуйста, какой-нибудь грамотный алгоритм склеивания данных в сокете и как проверить при считывании данных из сокета их целостность (кусок это или полный пакет)

avilov 01.02.2011 14:17

берешь байтовый массив рубаешь его на пакеты по сколько тебе нужно , в каждый пакет заносишь номер пакета и количество байт которые будут в этом пакете - и начинаешь отгружать.

XBEEN 01.02.2011 14:20

А есть хоть какой-нить наглядный примерчик? Так проще разобраться.

CrazyFlasher 01.02.2011 14:35

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

gloomyBrain 01.02.2011 14:38

Цитата:

в каждый пакет заносишь номер пакета и количество байт которые будут в этом пакете
А номер-то зачем? =)

По поводу примерчика - неужели так сложно сделать writeShort(длина массива данных) перед записью самих данных?

avilov 01.02.2011 14:49

[quote=gloomyBrain;969510]А номер-то зачем? =)

вдруг какого то пакета нет после передачи , можно повторно запросить и указать какой пакет нужен

XBEEN 01.02.2011 14:53

Спасибо, принцип понял. А пример нужен для большей ясности...

avilov 01.02.2011 14:55

Цитата:

Сообщение от XBEEN (Сообщение 969517)
Спасибо, принцип понял. А пример нужен для большей ясности...

Это значит вы нечего не поняли !

Добавлено через 4 минуты
не изобретай велосипед , TCP/IP гарантирует передачу и целостность данных , он сам продублирует не хватающие пакеты

gloomyBrain 01.02.2011 15:32

Цитата:

вдруг какого то пакета нет после передачи
Цитата:

TCP/IP гарантирует передачу и целостность данных
По-моему, Вы сами себе противоречите... =)

Однако, я могу захотеть отправить больше, чем влезает в пакет TCP, тогда мне становится нужно дописывать длину пакета в его начале

avilov 01.02.2011 16:10

Цитата:

Сообщение от gloomyBrain (Сообщение 969532)
Однако, я могу захотеть отправить больше, чем влезает в пакет TCP, тогда мне становится нужно дописывать длину пакета в его начале

А сколько влазит в один пакет ?


Часовой пояс GMT +4, время: 00:10.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.