Войти
Urho3DФорумЗАДАВАЙТЕ ВОПРОСЫ

Сеть (2 стр)

Страницы: 1 2 3 Следующая »
#15
11:18, 26 мая 2016

1vanK
> я тебе не глядя в код 100% скажу, что текстуры по стети движок не гоняет)
Хочешь удивиться?
Возьми пример 17, закомментируй две строки, где материалы .xml устанавливаются плиткам и шарику, измени "localhost" на "188.120.239.61" , SERVER_PORT на 1234.
Запусти и нажми "Connect"
И ты будешь удивлён.

А, стоп, он не текстуры передаёт, а названия материалов)


#16
12:12, 26 мая 2016

1vanK
> Можешь попробовать подправить потоковую передачу данных и слать данные в сжатом виде.
Если я правильно понимаю, вот в этом месте :

    kNet::NetworkMessage* msg = connection_->StartNewMessage((unsigned long)msgID, numBytes);
    if (!msg)
    {
        URHO3D_LOGERROR("Can not start new network message");
        return;
    }

    msg->reliable = reliable;
    msg->inOrder = inOrder;
    msg->priority = 0;
    msg->contentID = contentID;
    if (numBytes)                                                              <-—- точка 1
        memcpy(msg->data, data, numBytes);

    connection_->EndAndQueueMessage(msg);

данные передаются в сеть, а вот в этом:

void Network::HandleMessage(kNet::MessageConnection* source, kNet::packet_id_t packetId, kNet::message_id_t msgId, const char* data,
    size_t numBytes)
{
    // Only process messages from known sources
    Connection* connection = GetConnection(source);
    if (connection)
    {
        MemoryBuffer msg(data, (unsigned)numBytes);                      <— точка 2
        if (connection->ProcessMessage((int)msgId, msg))
            return;

        // If message was not handled internally, forward as an event
        using namespace NetworkMessage;

        VariantMap& eventData = GetEventDataMap();
        eventData[P_CONNECTION] = connection;
        eventData[P_MESSAGEID] = (int)msgId;
        eventData[P_DATA].SetBuffer(msg.GetData(), msg.GetSize());
        connection->SendEvent(E_NETWORKMESSAGE, eventData);
    }
    else
        URHO3D_LOGWARNING("Discarding message from unknown MessageConnection " + ToString((void*)source));
}

принимаются. Соответственно, перед передачей массивы передавать в функцию сжатия (точка 1), а после приёма (точка 2) - в фукцию декомпрессии.

#17
12:17, 26 мая 2016

radio
> Что демонстрирует новый пример 43_HttpRequestDemo ?
Собственно, http-запрос, как я понял, на адрес http://httpbin.org/ip , потом получает ответ, и берёт из него твой IP.

А ответ - это страница, в данном случае

{
  "origin": "46.53.162.227"
}

#18
12:40, 26 мая 2016

Есть такая библиотека POCО. И вроде бы в ней есть потоковое сжатие - https://habrahabr.ru/post/148173/

#19
12:45, 26 мая 2016

Я бы где-то ближе к сокету данные сжимал, мб даже в библиотеке knet

#20
13:57, 26 мая 2016

Исправил запуск, теперь должно работать - http://188.120.239.61/media/distr/TankistWaTclient.exe
Работать может на Windows 64 7 и выше.
Просьба проверить на запуск и артефакты. Да побольше экземпляров запускайте - штуки три. Видимо, глюки у меня оттого, что интернет медленный - 128 кБ/с всего.

#21
14:56, 26 мая 2016

да вроде запускается

#22
15:01, 26 мая 2016

1vanK
Это ты был?
Спасибо. А как оно? Управление слушается, колёса на отлетают, не дёргаются, машинки не летают?
Каково состояние моих машинок? Не летали, колёсики не катились отдельно?
У тебя же интернет хороший, наверное? Скорость там, пинг.

#23
15:02, 26 мая 2016

норм все, только переворачивается часто))

#24
15:11, 26 мая 2016

И я запускал 4-5 клиентов.
В какой-то момент, был лаг секунд до 10.
Потом перезапустил - вроде норм.
Ты бы чат прикрутил, чтобы удобнее.

#25
15:13, 26 мая 2016

1vanK
> переворачивается часто))
Это-то ладно - в соответствии с законами физики. А вот как они летать могут, меня удивляет. И под землю падать. Ведь всеми расчётами занимается сервер. Колёса там дёргаются, отлетают - тоже непорядок.
Хотя то, что колёса живут своей жизнью, явно говорит о том, что что-то неправильно сделано.
Похоже, что при нормальном интернете всё нормально. Проблемы начинаются, когда пинг большой и скорости не хватает.
И со скоростью не одного клиента не всё так печально - при наших пяти я наблюдал те же 25 кБ/с, что и при своих трёх.

#26
15:15, 26 мая 2016

Inc
А, так это ты в начале был? Круто, спасибо.

А как оно? Управление слушается, колёса на отлетают, не дёргаются, машинки не летают?
Каково состояние моих машинок? Не летали, колёсики не катились отдельно?
У тебя же интернет хороший, наверное? Скорость там, пинг.

Inc
> Ты бы чат прикрутил, чтобы удобнее.
Да, поспешил, со связью лучше бы получилось.

#27
16:18, 26 мая 2016

Саша123
> А как оно? Управление слушается, колёса на отлетают, не дёргаются, машинки не
> летают?
> Каково состояние моих машинок? Не летали, колёсики не катились отдельно?
> У тебя же интернет хороший, наверное? Скорость там, пинг.

Все в порядке, никаких багов, только машинка переворачивается при полном повороте вправо/влево даже со старта.
Интернет 30мбит.
Пинг, не видно какую команду вводить в консоли.
Кодировку в консоли поправь - не читается.
И прокрутку в консоли неплохо было бы добавить, а то только последние флаги хелпа по пингу влезают.

Ну или прям здесь напиши, какие команды с какими флагами вводить (кодировку все же поправь)

console01 | Сеть
#28
16:51, 26 мая 2016

Inc
Ого, ну ты шаман - прямо из урхи системные команды набирать.

Inc
> Кодировку в консоли поправь - не читается.
Узнаю как, поправлю.

Inc
> И прокрутку в консоли неплохо было бы добавить, а то только последние флаги хелпа по пингу влезают.
Насчёт прокрутки больной вопрос. Странно, что её нету до сих пор. Надо бы багрепорт отправить. Я тут задавал вопрос, главное, в редакторе на .as, если не изменяет память, она имеется.

Команда "ping 188.120.239.61" .

#29
17:01, 26 мая 2016

Обмен пакетами с 188.120.239.61 по с 32 байтами данных:
Ответ от 188.120.239.61: число байт=32 время=5мс TTL=54
Ответ от 188.120.239.61: число байт=32 время=5мс TTL=54
Ответ от 188.120.239.61: число байт=32 время=4мс TTL=54
Ответ от 188.120.239.61: число байт=32 время=5мс TTL=54

Статистика Ping для 188.120.239.61:
    Пакетов: отправлено = 4, получено = 4, потеряно = 0
    (0% потерь)
Приблизительное время приема-передачи в мс:
    Минимальное = 4мсек, Максимальное = 5 мсек, Среднее = 4 мсек

Страницы: 1 2 3 Следующая »
Urho3DФорумЗАДАВАЙТЕ ВОПРОСЫ

Тема в архиве.