На главную
ПРАВИЛА FAQ Помощь Участники Календарь Избранное DigiMania RSS
msm.ru
! Соблюдайте общие правила форума
Пожалуйста, выделяйте текст программы тегом [сode=pas] ... [/сode]. Для этого используйте кнопку [code=pas] в форме ответа или комбобокс, если нужно вставить код на языке, отличном от Дельфи/Паскаля.
Указывайте точные версии Delphi и используемых сетевых библиотек.

Не приветствуется поднятие старых тем. Если ваш вопрос перекликается со старой темой, то для вопроса лучше создать новую тему, а старую указать в первом сообщении с описанием взаимосвязи.

Внимание:
попытки открытия обсуждений реализации вредоносного ПО, включая различные интерпретации спам-ботов, наказывается предупреждением на 30 дней.
Повторная попытка - 60 дней. Последующие попытки бан.
Мат в разделе - бан на три месяца...

Полезные ссылки:
user posted image MSDN Library user posted image FAQ раздела user posted image Поиск по разделу user posted image Как правильно задавать вопросы


Выразить свое отношение к модераторам раздела можно здесь: user posted image Krid, user posted image Rouse_

Модераторы: Krid, Rouse_
  
> Свой тип данных типа record передать и принять по http
Всё борюсь с организацией обмена данными клиент-сервера. Пробовал xml-не подходит. Проблема ТУТ. Подскажите, а возможно ли через IDHTTP + IDHTTPServer обмениваться своим типом данных, например таким:
ExpandedWrap disabled
        TListGuest = record
           telephone:array of string;
           name:array of string;
           datereg:array of string;
           nick:array of string;
     
        end;

Что бы такую запись отправить клиентом и принять и корректно обработать на сервере (преобразовать в такой-же тип данных)

Может есть вариант сохранения record в stream?
Копай по ключевому слову (де)сериализация. Вариантов уйма от своего собственного до JSON и Protobuf
Сообщение отредактировано: Fr0sT -
Codero ergo sum
// Программирую — значит, существую
Посмотрел на сериализацию, честно - не совсем понятно. Понял только что можно сохранять данные как бинарный текст (это по моему лучше всего подходит для отправки по http.
Если можно простой пример для такого типа данных как я указал в первом посте? чтобы это сохранить например как бинарный текст и затем обратно собрать в свой тип данных?
TIdTCPClient и TIdTCPServer спасут отца русской демократии.
Цитата dreyqq @
Если можно простой пример для такого типа данных как я указал в первом посте?

Самое тупенькое, данные вида типа
ExpandedWrap disabled
    TEL[12361982,211284912,12499824]|NAME[John,Patrick,Doe]|...

Упаковку-распаковку соответственно. Но лучше юзать стандартные методы, JSON или Protobuf сделают для тебя всю работу, тебе останется только передать и принять. Также лучше разобраться с XML, скорее это косяк у тебя, нежели в стандартном коде, который без проблем бегает в тысячах программ.
Codero ergo sum
// Программирую — значит, существую
С XML проблема. Если использовать IXMLNode то оно память после себя не освобождает. После миллиона запросов вылетает в memoryOut. Задал вопрос здесь

Добавлено
Цитата Gonarh @
TIdTCPClient и TIdTCPServer спасут отца русской демократии.

Не пойдет. Нужно через http...
Цитата
JSON или Protobuf сделают для тебя всю работу

Они тоже память кушают, хоть и аппетит в 2 раза меньше, зато скорость... 50000 запросов обрабатывает примерно 30 минут, тоже самое на xml примерно 10 минут, но памяти в 2 раза больше съедает
Сообщение отредактировано: dreyqq -
Реализации разные есть, раз уж производительность критична. А просто пустой запрос сколько rpm дает?
Codero ergo sum
// Программирую — значит, существую
Не мерял, только представляю о чем речь (наверное о времени запрос-ответ)
Тормозит именно при парсинге значений. Чем больше документ, тем медленнее. Такое впечатление что при поиске каждого значения выполняется copy, pos

Добавлено
В общем остановился на XSuperObject
1 пользователей читают эту тему (1 гостей и 0 скрытых пользователей)
0 пользователей:


Рейтинг@Mail.ru
[ Script Execution time: 0,1129 ]   [ 20 queries used ]   [ Generated: 21.01.19, 16:07 GMT ]