Передача структурированного типа данных "запись" по локально

Тема в разделе "Delphi - Сети", создана пользователем DimonSoft, 28 апр 2009.

  1. DimonSoft

    DimonSoft Гость

    Всем доброго времени суток!
    При написании игры с сетевой поддержкой столкнулся с необходимостью передать данные типа RECORD (либо массив записей). Для работы с сетью использую компоненты TServerSocket и TClientSocket.
    Может кто-нибудь подскажет как передать подобную структуру целиком:

    [codebox]Rec = record
    Name: string;
    Point: word;
    X, Y: integer;
    end;[/codebox]

    и принять ее. :)

    Книги и поиск в интернете результатов не дал.

    Всем заранее благодарен за помощь!
     
  2. DimonSoft

    DimonSoft Гость

    Неужели никто не знает как это сделать?!
    Я пробовал передавать процедурами SendBuf/ReceiveBuf, но такая передача работает очень нестабильно.
     
  3. SoCi0pAt

    SoCi0pAt Гость

    для обмена данными по сети я использовал компоненты indy. запись частями загонял частями в memorystream, сначала отправлял размер потока памяти, а потом и сам поток. работало как часы, но размер передаваемых данных бел не особо велик. полагаю, в твоем случае схема действий не особо должна отличаться. ;)
     
  4. zubr

    zubr Гость

    Тут проблема в использовании типа string в структуре. Дело в том, что string по большому счету - это адрес в памяти, а смысл передавать адрес строки находящейся на другом компе, даже нет смысла, передавать адрес в другой процесс.
    Как вариант можно использовать вместо string - string[255]
     
  5. SoCi0pAt

    SoCi0pAt Гость

    не вижу проблем с строками любой длины. зачем "утяжелять" передачу? может у него в строках по 3-5 символов?

    Код (Text):
    i:=length(str);
    MemStrm.Write(i,SizeOf(i));               //пишем в поток длину строки
    MemStrm.WriteBuffer(PChar(str)^,i); //пишем саму строку
    на стороне приема в том же порядке извлекаем из потока

    З.Ы.: Тема старенькая ;) автару уже давно пофиг
     
  6. DimonSoft

    DimonSoft Гость

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

    Хоть и старенькая, а учиться никогда не поздно. Так что спасибо за ответы. В другой раз буду знать как реализовывать подобную передачу информации.
     
Загрузка...
Похожие Темы - Передача структурированного типа
  1. Corexis
    Ответов:
    0
    Просмотров:
    64
  2. Shouldercannon
    Ответов:
    0
    Просмотров:
    482
  3. Shouldercannon
    Ответов:
    0
    Просмотров:
    381
  4. 123456789igor
    Ответов:
    0
    Просмотров:
    802
  5. TonikVR
    Ответов:
    5
    Просмотров:
    1.073

Поделиться этой страницей