Передача обьекта класса по сети

SFML и C++ Уроки \ Разработка игр Форумы SFML Network Передача обьекта класса по сети

В этой теме 3 ответа, 3 участника, последнее обновление RazorNd RazorNd 9 мес., 2 нед. назад.

Просмотр 4 сообщений - с 1 по 4 (из 4 всего)
  • Автор
    Сообщения
  • #3194

    mypmyp
    Участник
    Сообщений:20

    Зарегистрирован:
    20.10.2015

    Репутация:6

    Всем доброго времени суток!

    Судя по прошлым открытым темам и вопросам, заданными мной.

    Я решил коснутся вопроса указанного в заголовке,  а именно Передача обьекта класса по сети.

    В общем если вы хотите сделать мморпг, или любую онлайн игру, вам нужно, просто не обходимо использование ООП.

    Но как же передать, и получить Обьект класса по сети?

    Может есть у кого ссылка на статью? Или кто знает ответ? Может в сфмл есть такая функция?

    Пока я нашел метод Сериализации и Десириализации, но я в нем новичек (по сути как и в программировании в общем)

    Кто поделится опытом или статьей?

    #3195
    RazorNd
    RazorNd
    Участник
    Сообщений:46

    Зарегистрирован:
    04.02.2016

    Репутация:38

    mypmyp, в данном случае следует поступать точно также как и в случае, если мы хотим передавать в STL потоки свои классы, а именно нужно перегрузить операторы помещения и изъятия из потока данных (На самом деле скорее оператор побитового сдвига, но кто мы такие чтобы спорить с создателями STL? =D)

    И так что нам нужно чтобы все это приготовить?

    Ну что же начнем с класса который мы собираемся передавать в пакет. В качестве подопытного возьмем какой нибудь простенький класс

    Дальше самое вкусное: перегрузим для него наши операторы:

    Вся магия до не возможности проста: мы просто поочередно запихиваем все поля класса в пакет, поскольку перегрузка данной функции для отдельных полей класса у нас есть (в нашем случае для int). В случае если ваш класс содержит другие классы, то нужно перегрузить данные методы и для этих классов.
    Распаковка пакета происходит точно также, как и упаковка за исключением смены оператора левого побитового сдвига на правый. © Кэп

    Что же и осталось последнее – это посмотреть как это все будет использоваться.

    Как видно использование ни чем не отличается от стандартных типов данных.

    P.s.: спасибо, что терпели очередной выпуск программной кулинарии от RazorNd

    #3196
    tyman
    tyman
    Участник
    Сообщений:23

    Зарегистрирован:
    04.03.2015

    Репутация:6

    Рекомендую почитать туториал: http://www.sfml-dev.org/tutorials/2.3/

    #3197
    RazorNd
    RazorNd
    Участник
    Сообщений:46

    Зарегистрирован:
    04.02.2016

    Репутация:38

    tyman, давали бы уж тогда сразу ссылку на конкретную статью

    Павел, сделали бы вы стили для ссылок отличающимся от основного текста сообщения.

Просмотр 4 сообщений - с 1 по 4 (из 4 всего)

Для ответа в этой теме необходимо авторизоваться.