powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Разработка информационных систем [игнор отключен] [закрыт для гостей] / Разработка протокола между клиентом и сервером.
10 сообщений из 10, страница 1 из 1
Разработка протокола между клиентом и сервером.
    #36781332
Здравствуйте, уважаемые разработчики.

Прошу совета.
Разрабатываю трехзвенное приложение
Клиент - C++ и библиотека Qt - нужен только как графический интерфейс.
Сервер приложений - Java - здесь вся логика приложения.
СУБД - MySQL.
Тематика приложения - шахматный сервер с игрой онлайн, чатом, проведением турниров, командной игрой и прочим в этом плане.

Извините меня за глупый вопрос, но раньше я не писал сетевых приложений и это мой первый проект, где используется Qt и Java.

Вопрос в следующем: Клиент обменивается с сервером по собственному протоколу. Каждое сообщение заканчивается терминальным символом, внутри сообщения поля данных отделяются другим символом.
Типов сообщений в стартовой версии около 200 (ходы, сообщения чата, списки игроков, партий, турнирные сообщения, технические сообщения об ошибках и прочее).

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

Еще долго искал примеры приложений где сервер написан на Ява, а клиент на другом ЯП (VB | Delphi | С++), но так и не нашел такого "комплексного приложения".
Если кто даст ссылки - буду признателен.
...
Рейтинг: 0 / 0
Разработка протокола между клиентом и сервером.
    #36781431
Kasper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Румата Эсторский, Большие сомнения в использовании "других ЯП (VB | Delphi | С++)", если "Сервер приложений - Java - здесь вся логика приложения". Для рисования форм на клиенте есть SVG формат.
...
Рейтинг: 0 / 0
Разработка протокола между клиентом и сервером.
    #36781486
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Румата Эсторский
разбирать на получателе сообщения)? Может это уже где-то автоматизировано? [/b]

да, на Java используют фреймворки.
На С++ - шаблоны проектирования.
С нуля никто ничего не пишет.
Подробнее - на форум ЯП.
ЗЫ.
С++ \ Java совмещают очень редко. Пиши на том что знаешь.
...
Рейтинг: 0 / 0
Разработка протокола между клиентом и сервером.
    #36781932
fleandr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SOAP вам поможет )
шахматы сильно xml не нагрузят )))
не вижу ничего плохого в совмещении языков если это удобно аффтарам.
...
Рейтинг: 0 / 0
Разработка протокола между клиентом и сервером.
    #36782145
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fleandr,
ага, и SOAP прикрутить именно для этого совмещения языков.
...
Рейтинг: 0 / 0
Разработка протокола между клиентом и сервером.
    #36782266
KasperРумата Эсторский, Большие сомнения в использовании "других ЯП (VB | Delphi | С++)", если "Сервер приложений - Java - здесь вся логика приложения". Для рисования форм на клиенте есть SVG формат.

Если я правильно понимаю, Вы мне советуете браузерное решение? С использованием векторной графики в браузере?
Браузер не подходит по двум причинам:
1. Есть нечестные игроки, которые вместо собственной игры пользуются сильными шахматными программами (вроде Рыбки, Фрица). Дополнительная задача клиентского приложения - в списке процессов запущенных на пользовательском ПК найти процессы шахматных движков, которые что-то высчитывают во время партии. Если в партиях игрока будет намек на стиль игры машины, а в это время у него были запущены игровые программы, такому игроку выставляется признак "пользуется помощью компьютера". Браузер не сможет сказать запущеын ли рядом шахматные программы

2. Я не знаю такой Веб-технологии, где можно было бы передавать ходы в партиях с минутным контролем (там уже идет счет на десятые секунды). AJAX не удовлетворяет такой скорости, тому много примеров шахматных-AJAX сайтов в интернет. Есть технология WebSocket, но W3C ее еще стандартизирует.

Почему я клиент пишу на Qt, а не на Java (Swing/SWT/AWT)? Мне больше нравится пользовательский интерфейс в Qt, там он быстрее, красивее и не требует установки JRE.
...
Рейтинг: 0 / 0
Разработка протокола между клиентом и сервером.
    #36782298
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Румата Эсторский
AJAX не удовлетворяет такой скорости, тому много примеров шахматных-AJAX сайтов в интернет.
с чего взял, что именно протокол?
И где там ему тормозить?
В каком месте? Если ты разработчик.
...
Рейтинг: 0 / 0
Разработка протокола между клиентом и сервером.
    #36782358
Petro123Румата Эсторский
AJAX не удовлетворяет такой скорости, тому много примеров шахматных-AJAX сайтов в интернет.
с чего взял, что именно протокол?
И где там ему тормозить?
В каком месте? Если ты разработчик.

Поправьте меня, если не прав. В AJAX только клиент может запросить сервер, после чего сервер пошлет инфу клиенту. Нет такого чтобы сервер без запроса клиента послал клиенту данные.
Тогда: первый игрок сделал ход и отправил на сервер, а сервер не может передать сразу второму игроку и ждет от второго запроса "есть ли ход?". Слишком часто такие запросы делать нельзя т.к. будет нагрузка на сервер (допустим 1000 партий = 2000 игроков * 2 запроса в сек = 4 тыс. запросов в сек, 95% из которых бесполезны т.к. сервер ответит "хода нет").
...
Рейтинг: 0 / 0
Разработка протокола между клиентом и сервером.
    #36782438
fleandrSOAP вам поможет )
шахматы сильно xml не нагрузят )))
не вижу ничего плохого в совмещении языков если это удобно аффтарам.

SOAP - интересно. Никогда не работал с этим.
Как его использовать: для удаленного вызова процедур (XML-RPC) или просто произвольные сообщения (сделать свой протокол в виде XML)?

Не могли бы Вы кинуть ссылки на какие либо примеры взаимодействия через SOAP (вообще здорово будет если клиент на Qt)

А оно не сильно увеличит трафик при большом количестве одновременно играемых партий?
...
Рейтинг: 0 / 0
Разработка протокола между клиентом и сервером.
    #36782524
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Румата Эсторский,
вы правы.
Но тогда, разве игра в шахматы это не чат ?
:)
Вот и ищите архитектуру с мин.нагрузкой сервера - для чата.
Решений - вагон.
ЗЫ. Може вам вэб камеру и видео в реале нужно? :)
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Разработка информационных систем [игнор отключен] [закрыт для гостей] / Разработка протокола между клиентом и сервером.
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]