Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Сокеты 
:(
    Опции темы
Vinnety
Дата 13.6.2003, 19:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 69
Регистрация: 8.4.2003

Репутация: нет
Всего: нет



Народ! Расскажите, как напрмер передать массив записей посредством сокетов (clientsocket,serversocket)!
PM MAIL   Вверх
altarasjuk
Дата 13.6.2003, 22:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 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 байты>;
и т.д.

Если передаёшь строку - сначала надо передать её размер.

и вообщем по такому принципу реализуешь протокол.... реализовал.... и всё - работает!!!

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

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


--------------------
Правда - изобретение маньяков: колет глаза и режет уши.
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0474 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.