www.open-tager.ru http://www.open-tager.ru/forum/ |
|
Android Лазертаг система http://www.open-tager.ru/forum/viewtopic.php?f=5&t=3938 |
Страница 22 из 30 |
Автор: | Pingvin [ 11 сен 2015, 11:26 ] |
Заголовок сообщения: | Re: Android Лазертаг система |
Я бы вообще все сделал через базы данных, весь обмен. На MySQL, к примеру. |
Автор: | Pingvin [ 11 сен 2015, 11:43 ] |
Заголовок сообщения: | Re: Android Лазертаг система |
Не буду никого ждать! У меня все просто, все работает. Код: QML debugging is enabled. Only use this in a safe environment. Listening to port 1234 ... 22 Connecting... Thread started 22 Client connected 22 Data in: "Hello!!!@HSL qml: Ura!!!100 qml: Ura!!!100 22 Disconnected Remove socket 22 Накатаю свое приложение, а там уже будем под всякие JSONы мутить. |
Автор: | LTagKirov [ 11 сен 2015, 11:49 ] |
Заголовок сообщения: | Re: Android Лазертаг система |
Pingvin писал(а): WEB сервак сам я точно не напишу.А вот серверное приложение (не WEB) - запросто. Веб серверы берут обычно готовые. На них запускают сам сайт (куча файлов с содержимым и скриптами). Но есть варианты сделать скрипты очень несложно по затратам времени и сил: из древнего PHP, из модного node.js Как разработчику привыкшему к С подобным языкам, можно порекомендовать именно node.js API между клиентом(андроид) и сервером реализовать типовым решением HTTP + JSON Тогда сервер в нашем случае пришется примерно за два дня, около 4..8 модулей по 2..3 экрана текста в каждом. Так как Апи типовой в дальнейшем возможно без сложных телодвижений в будущем подключать скрипты на роутеры, wifi ES8669 и тдPingvin писал(а): Я бы вообще все сделал через базы данных, весь обмен. На MySQL, к примеру. Это только место куда будут складываться данные полученные скриптами сайта. Самостоятельно эти данные никак на клиенты(андроид) не попадутPingvin писал(а): У меня все просто, все работает. К сожалению после подключения к вашему серверу хотя-бы 100..200игроков(это вообще пустяки) с разных регионов страны, однопоточная обработка входящих соединений начнёт очень нехило тормозить. Вам придётся динамически создавать параллельные потоки для каждого соединения и отслеживать их взаимную блокировку по доступу к БД например... создание нормального сервера не очень тривиальная задача http://troll-face.ru/mememaker/31137-velosiped-iz-grabley/ |
Автор: | Pingvin [ 11 сен 2015, 11:59 ] |
Заголовок сообщения: | Re: Android Лазертаг система |
Хорошо, готовый.... Задача - отобразить ItemList с игроками - с полным описанием текущего состояния: здоровье, амуниция, статус игры, кого ранил, кого убил..., с аватарками и эмблемами клуба, перемещать их итемы в зависимости от рейтинга. Как это реализовать на готовом серваке? Обратная связь между игроками - попал, не попал, SMS-ки - как? Карта с маркерами, на которых тоже полоски статусов разных. Я не представляю! |
Автор: | Pingvin [ 11 сен 2015, 12:00 ] |
Заголовок сообщения: | Re: Android Лазертаг система |
Я пишу ЛОКАЛЬНЫЙ сервер! Если хотите - WiFi на стационарной площадке, без глоба. |
Автор: | Pingvin [ 11 сен 2015, 12:02 ] |
Заголовок сообщения: | Re: Android Лазертаг система |
У меня на каждое соединение свой поток! Обратите внимание! Цитата: Вам придётся динамически создавать параллельные потоки для каждого соединения и отслеживать их взаимную блокировку по доступу к БД например... создание нормального сервера не очень тривиальная задача Решено! Код: void MyServer::incomingConnection(qintptr /*int*/ socketDescriptor)
{ // We have a new connection qDebug() << socketDescriptor << " Connecting..."; MyThread *thread = new MyThread(socketDescriptor, this); map.insert(socketDescriptor, thread); // connect signal/slot // once a thread is not needed, it will be beleted later connect(thread, SIGNAL(socketClosed(qintptr)), this, SLOT(removeConnect(qintptr))); connect(thread, SIGNAL(finished()), thread, SLOT(deleteLater())); connect(thread, SIGNAL(incomingPackage(int,QByteArray)), this, SLOT(incomingPackageProcessing(int, QByteArray))); thread->start(); } void MyThread::disconnected() { qDebug() << socketDescriptor << " Disconnected"; emit socketClosed((qintptr)socketDescriptor); socket->deleteLater(); exit(0); } void MyServer::removeConnect(qintptr socketDescriptor) { int ii; map.remove(socketDescriptor); qDebug() << "Remove socket " << socketDescriptor; ii++; } |
Автор: | LTagKirov [ 11 сен 2015, 12:06 ] |
Заголовок сообщения: | Re: Android Лазертаг система |
Pingvin писал(а): Хорошо, готовый....Задача - отобразить ItemList с игроками - с полным описанием текущего состояния: здоровье, амуниция, статус игры, кого Я не представляю! Для начала опытов, простые варианты вроде отображения таблицы состояний игроков проще использовать готовые сервисы и не писать свой собственный сайт.Например отечественный производитель http://web-telemetry.ru/api/ Есть тоже самое и от буржуев, счас сылки поищу |
Автор: | Pingvin [ 11 сен 2015, 12:10 ] |
Заголовок сообщения: | Re: Android Лазертаг система |
LTagKirov писал(а): Pingvin писал(а): Хорошо, готовый....Задача - отобразить ItemList с игроками - с полным описанием текущего состояния: здоровье, амуниция, статус игры, кого Я не представляю! Для начала опытов, простые варианты вроде отображения таблицы состояний игроков проще использовать готовые сервисы и не писать свой собственный сайт.Например отечественный производитель http://web-telemetry.ru/api/ Есть тоже самое и от буржуев, счас сылки поищу Сервисы платные? |
Автор: | LTagKirov [ 11 сен 2015, 12:15 ] |
Заголовок сообщения: | Re: Android Лазертаг система |
Pingvin писал(а): Обратите внимание! ой-ли Цитата: и отслеживать их взаимную блокировку по доступу к БД например... Решено! Pingvin писал(а): Сервисы платные? Всякие есть
|
Автор: | Pingvin [ 11 сен 2015, 12:18 ] |
Заголовок сообщения: | Re: Android Лазертаг система |
В смысле - "ой ли!" Код не видите? Базы данных пока не использую. Но не вижу проблем никаких! Поток получил данные от сокета, выплюнул наверх, там обрабатываем и принимаем решение - что с ними делать. Это если нужно ещё наверх передавать, и то можно и в потоке обработать. Чего не так?! Почитайте про систему Сигнал-Слот в Qt Это вам не Java |
Страница 22 из 30 | Часовой пояс: UTC + 3 часа [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |