|
Разработка протокола между клиентом и сервером.
|
|||
---|---|---|---|
#18+
Здравствуйте, уважаемые разработчики. Прошу совета. Разрабатываю трехзвенное приложение Клиент - C++ и библиотека Qt - нужен только как графический интерфейс. Сервер приложений - Java - здесь вся логика приложения. СУБД - MySQL. Тематика приложения - шахматный сервер с игрой онлайн, чатом, проведением турниров, командной игрой и прочим в этом плане. Извините меня за глупый вопрос, но раньше я не писал сетевых приложений и это мой первый проект, где используется Qt и Java. Вопрос в следующем: Клиент обменивается с сервером по собственному протоколу. Каждое сообщение заканчивается терминальным символом, внутри сообщения поля данных отделяются другим символом. Типов сообщений в стартовой версии около 200 (ходы, сообщения чата, списки игроков, партий, турнирные сообщения, технические сообщения об ошибках и прочее). Может быть не нужно выдумывать свой формат сообщений (собирать на отправителе и разбирать на получателе сообщения)? Может это уже где-то автоматизировано? Также прошу раскритиковать принцип протокола и ткнуть носом как делать "по науке" Еще долго искал примеры приложений где сервер написан на Ява, а клиент на другом ЯП (VB | Delphi | С++), но так и не нашел такого "комплексного приложения". Если кто даст ссылки - буду признателен. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2010, 01:45 |
|
Разработка протокола между клиентом и сервером.
|
|||
---|---|---|---|
#18+
Румата Эсторский, Большие сомнения в использовании "других ЯП (VB | Delphi | С++)", если "Сервер приложений - Java - здесь вся логика приложения". Для рисования форм на клиенте есть SVG формат. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2010, 08:38 |
|
Разработка протокола между клиентом и сервером.
|
|||
---|---|---|---|
#18+
Румата Эсторский разбирать на получателе сообщения)? Может это уже где-то автоматизировано? [/b] да, на Java используют фреймворки. На С++ - шаблоны проектирования. С нуля никто ничего не пишет. Подробнее - на форум ЯП. ЗЫ. С++ \ Java совмещают очень редко. Пиши на том что знаешь. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2010, 09:37 |
|
Разработка протокола между клиентом и сервером.
|
|||
---|---|---|---|
#18+
SOAP вам поможет ) шахматы сильно xml не нагрузят ))) не вижу ничего плохого в совмещении языков если это удобно аффтарам. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2010, 12:45 |
|
Разработка протокола между клиентом и сервером.
|
|||
---|---|---|---|
#18+
fleandr, ага, и SOAP прикрутить именно для этого совмещения языков. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2010, 14:05 |
|
Разработка протокола между клиентом и сервером.
|
|||
---|---|---|---|
#18+
KasperРумата Эсторский, Большие сомнения в использовании "других ЯП (VB | Delphi | С++)", если "Сервер приложений - Java - здесь вся логика приложения". Для рисования форм на клиенте есть SVG формат. Если я правильно понимаю, Вы мне советуете браузерное решение? С использованием векторной графики в браузере? Браузер не подходит по двум причинам: 1. Есть нечестные игроки, которые вместо собственной игры пользуются сильными шахматными программами (вроде Рыбки, Фрица). Дополнительная задача клиентского приложения - в списке процессов запущенных на пользовательском ПК найти процессы шахматных движков, которые что-то высчитывают во время партии. Если в партиях игрока будет намек на стиль игры машины, а в это время у него были запущены игровые программы, такому игроку выставляется признак "пользуется помощью компьютера". Браузер не сможет сказать запущеын ли рядом шахматные программы 2. Я не знаю такой Веб-технологии, где можно было бы передавать ходы в партиях с минутным контролем (там уже идет счет на десятые секунды). AJAX не удовлетворяет такой скорости, тому много примеров шахматных-AJAX сайтов в интернет. Есть технология WebSocket, но W3C ее еще стандартизирует. Почему я клиент пишу на Qt, а не на Java (Swing/SWT/AWT)? Мне больше нравится пользовательский интерфейс в Qt, там он быстрее, красивее и не требует установки JRE. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2010, 14:44 |
|
Разработка протокола между клиентом и сервером.
|
|||
---|---|---|---|
#18+
Румата Эсторский AJAX не удовлетворяет такой скорости, тому много примеров шахматных-AJAX сайтов в интернет. с чего взял, что именно протокол? И где там ему тормозить? В каком месте? Если ты разработчик. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2010, 14:55 |
|
Разработка протокола между клиентом и сервером.
|
|||
---|---|---|---|
#18+
Petro123Румата Эсторский AJAX не удовлетворяет такой скорости, тому много примеров шахматных-AJAX сайтов в интернет. с чего взял, что именно протокол? И где там ему тормозить? В каком месте? Если ты разработчик. Поправьте меня, если не прав. В AJAX только клиент может запросить сервер, после чего сервер пошлет инфу клиенту. Нет такого чтобы сервер без запроса клиента послал клиенту данные. Тогда: первый игрок сделал ход и отправил на сервер, а сервер не может передать сразу второму игроку и ждет от второго запроса "есть ли ход?". Слишком часто такие запросы делать нельзя т.к. будет нагрузка на сервер (допустим 1000 партий = 2000 игроков * 2 запроса в сек = 4 тыс. запросов в сек, 95% из которых бесполезны т.к. сервер ответит "хода нет"). ... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2010, 15:11 |
|
Разработка протокола между клиентом и сервером.
|
|||
---|---|---|---|
#18+
fleandrSOAP вам поможет ) шахматы сильно xml не нагрузят ))) не вижу ничего плохого в совмещении языков если это удобно аффтарам. SOAP - интересно. Никогда не работал с этим. Как его использовать: для удаленного вызова процедур (XML-RPC) или просто произвольные сообщения (сделать свой протокол в виде XML)? Не могли бы Вы кинуть ссылки на какие либо примеры взаимодействия через SOAP (вообще здорово будет если клиент на Qt) А оно не сильно увеличит трафик при большом количестве одновременно играемых партий? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2010, 15:33 |
|
Разработка протокола между клиентом и сервером.
|
|||
---|---|---|---|
#18+
Румата Эсторский, вы правы. Но тогда, разве игра в шахматы это не чат ? :) Вот и ищите архитектуру с мин.нагрузкой сервера - для чата. Решений - вагон. ЗЫ. Може вам вэб камеру и видео в реале нужно? :) ... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2010, 15:54 |
|
|
start [/forum/topic.php?fid=33&fpage=31&tid=1548240]: |
0ms |
get settings: |
8ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
38ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
44ms |
get tp. blocked users: |
1ms |
others: | 14ms |
total: | 134ms |
0 / 0 |