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игроков(это вообще пустяки) с разных регионов страны, однопоточная обработка входящих соединений начнёт очень нехило тормозить. Вам придётся динамически создавать параллельные потоки для каждого соединения и отслеживать их взаимную блокировку по доступу к БД например... создание нормального сервера не очень тривиальная задача 8-)

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 Лазертаг система

У меня на каждое соединение свой поток!
Обратите внимание!

Цитата:
Вам придётся динамически создавать параллельные потоки для каждого соединения и отслеживать их взаимную блокировку по доступу к БД например... создание нормального сервера не очень тривиальная задача 8-)


Решено! 8-)

Код:
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 писал(а):
Обратите внимание!
Цитата:
и отслеживать их взаимную блокировку по доступу к БД например...

Решено! 8-)
ой-ли :mrgreen:

Pingvin писал(а):
Сервисы платные?
Всякие есть

Автор:  Pingvin [ 11 сен 2015, 12:18 ]
Заголовок сообщения:  Re: Android Лазертаг система

В смысле - "ой ли!" :shock:

Код не видите?

Базы данных пока не использую.
Но не вижу проблем никаких!

Поток получил данные от сокета, выплюнул наверх, там обрабатываем и принимаем решение - что с ними делать.
Это если нужно ещё наверх передавать, и то можно и в потоке обработать.


Чего не так?! :|

Почитайте про систему Сигнал-Слот в Qt

Это вам не Java

Страница 22 из 30 Часовой пояс: UTC + 3 часа [ Летнее время ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/