![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| Vinnety |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 69 Регистрация: 8.4.2003 Репутация: нет Всего: нет |
Народ! Расскажите, как напрмер передать массив записей посредством сокетов (clientsocket,serversocket)!
|
|||
|
||||
| altarasjuk |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 331 Регистрация: 7.5.2003 Где: Харьков Репутация: 1 Всего: 1 |
Надо написать свой протокол:
допустим надо передать: arr: array[0..n] of Integer; следовательно длинна каждой записи - 4 байта. Нам ещё надо передать сколько записей (Integer) тоже 4 байта. Следовательно вся передача выглядит так: 1-4 байты: длинна массива. 5-9 байты: arr[0]; ........................... (n*4+5)-(n*4+5+4) байты: arr[n]. т.е. принимаем с той стороны набор байтов: SetLength(arr, <1-4 байты>); arr[0] = <5-9 байты>; и т.д. Если передаёшь строку - сначала надо передать её размер. и вообщем по такому принципу реализуешь протокол.... реализовал.... и всё - работает!!! Если надо передавать структуры - создаёшь фабрики (классы которые будут соберать эти сруктуры из набора байт и соответственно превращать их в набор байт). Если не будешь использовать всякие умные готовые штуки, то не гаратируется, яф б даже сказал что гарантируется несовместимость с клиентами(серверами) написанными, например, на джаве. Т.Е. протокол лучше писать самому - ручками и ни в коем случае не использовать готовые алгоритмы сериализации. А вообще вопрос задай немного поконкретней, а то все случаи описать просто не возможно. -------------------- Правда - изобретение маньяков: колет глаза и режет уши. |
|||
|
||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |