![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
Румата Эсторский |
![]()
Сообщение
#1
|
Студент ![]() Группа: Новичок Сообщений: 11 Регистрация: 2.2.2011 Пользователь №: 2388 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Здравствуйте, уважаемые разработчики.
Подскажите пожалуйста где можно почитать инфу о создании своего протокола для взаимодействия клиент-серверного приложения. Клиент на Qt, сервер на Java. Требования к протоколу - компактность и большая скорость обработки пакетов на сервере, так что XML не подходит. Может быть уже есть какие-то шаблонные классы для решения этой задачи. Может быть есть литература, примеры. И еще скажите - правильно ли сделать такую схему для обработки протокола: есть базовый класс Message - основные функции по сборке/разборке сообщения, доступ к полям сообщения и т.д. а дальше для каждого типа сообщения свой класс унаследованный от Message. Типов сообщений пока около 100, но дальше их будет больше. Скажите, верно ли иметь в программе такую кучу классов для сетевой подсистемы? |
|
|
kuzulis |
![]()
Сообщение
#2
|
Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 393 Регистрация: 29.6.2009 Пользователь №: 862 Спасибо сказали: 36 раз(а) Репутация: ![]() ![]() ![]() |
А JSON не подходит?
Или вам необходим бинарный протокол? И что за данные в сообщениях будут передаваться? |
|
|
Румата Эсторский |
![]()
Сообщение
#3
|
Студент ![]() Группа: Новичок Сообщений: 11 Регистрация: 2.2.2011 Пользователь №: 2388 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
А JSON не подходит? Или вам необходим бинарный протокол? И что за данные в сообщениях будут передаваться? Данные - ходы в партиях, списки (игроков, турниров и прочее списки), бинарные тоже - фотографии, хотя может фотографии заправшивать по HTTP? я не думал насчет JSON. Насколько быстро разбирается/собирается JSON? Какие компонеты для С++ Qt клиента (и для Java сервера) вы порекомендовали бы для работы с JSON? JSON снимает вопрос насчет наследников от Message или все-таки стоит выстроить такую иерархию независимо от протокола передачи? |
|
|
crashsp |
![]()
Сообщение
#4
|
![]() Студент ![]() Группа: Участник Сообщений: 56 Регистрация: 23.10.2010 Пользователь №: 2144 Спасибо сказали: 8 раз(а) Репутация: ![]() ![]() ![]() |
А JSON не подходит? Или вам необходим бинарный протокол? И что за данные в сообщениях будут передаваться? Данные - ходы в партиях, списки (игроков, турниров и прочее списки), бинарные тоже - фотографии, хотя может фотографии заправшивать по HTTP? я не думал насчет JSON. Насколько быстро разбирается/собирается JSON? Какие компонеты для С++ Qt клиента (и для Java сервера) вы порекомендовали бы для работы с JSON? JSON снимает вопрос насчет наследников от Message или все-таки стоит выстроить такую иерархию независимо от протокола передачи? Ну вот тут нашелся класс для парсения json меня как то раз спас не знаю поможет может чем, а вообще есть отдельная библиотка для работы с json вот только под себя я так и не смог ее адаптировать вот http://qjson.sourceforge.net/ А вот класс: файл h. Раскрывающийся текст
а вот cpp. Раскрывающийся текст
|
|
|
Румата Эсторский |
![]()
Сообщение
#5
|
Студент ![]() Группа: Новичок Сообщений: 11 Регистрация: 2.2.2011 Пользователь №: 2388 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Я вот думаю не воспользоваться ли QHessian http://habrahabr.ru/blogs/cpp/109393/
Он бинарный, то есть компактнее JSON, и на первый взгляд очень удобный. Как считаете? |
|
|
crashsp |
![]()
Сообщение
#6
|
![]() Студент ![]() Группа: Участник Сообщений: 56 Регистрация: 23.10.2010 Пользователь №: 2144 Спасибо сказали: 8 раз(а) Репутация: ![]() ![]() ![]() |
Я вот думаю не воспользоваться ли QHessian http://habrahabr.ru/blogs/cpp/109393/ Он бинарный, то есть компактнее JSON, и на первый взгляд очень удобный. Как считаете? По моему отличный вариант плюсов много )) да и на первый взгляд реализовано все на уровне... НО я сам вижу ее в первый раз так что если под вашу задачу подходит почему бы нет ?? ПЖЛ не бросайте тему если вдруг на чем то конкретном остановитесь отпишитесь |
|
|
![]() ![]() ![]() |
![]() |
|
Текстовая версия | Сейчас: 18.2.2025, 17:17 |