<MyRusakov.ru />

Программирование на C++ в Unreal Engine 5

Программирование на C++ в Unreal Engine 5

Данный курс научит Вас созданию игр на C++ в Unreal Engine 5. Курс состоит из 12 разделов, в которых Вас ждёт теория и практика. Причём, в качестве практики будет создан весьма крупный проект объёмом свыше 5000 строк качественного кода, который уже на практике познакомит Вас с принципами создания игр на C++ в Unreal Engine 5.

Параллельно с курсом Вы также будете получать домашние задания, результатом которых станет, в том числе, полноценная серьёзная работа для портфолио.

Помимо самого курса Вас ждёт ещё и очень ценный Бонус: «Тестирование Unreal-проектов на Python», в рамках которого Вы научитесь писать очень полезные тесты для тестирования самых разных аспектов разработки игр.

Подробнее
Подписка

Подпишитесь на мой канал на YouTube, где я регулярно публикую новые видео.

YouTube Подписаться

Подписавшись по E-mail, Вы будете получать уведомления о новых статьях.

Подписка Подписаться

Добавляйтесь ко мне в друзья ВКонтакте! Отзывы о сайте и обо мне оставляйте в моей группе.

Мой аккаунт Мой аккаунт Моя группа
Опрос

Какая тема Вас интересует больше?

Передача байтовых строк по сети в Python

Передача байтовых строк по сети в Python

Здравствуйте. В сегодняшней статье мы рассмотрим , как перевести целое число в байтовую строку, а затем передать его по сети в Python.

Итак, когда мы говорим о числах, то мы обычно имеем в виду десятичную систему счисления. Однако, для компьютеров, которые работают в двоичной системе счисления, числа представляются в виде битовых последовательностей (байтов), состоящих из нулей и единиц. Таким образом, для обработки чисел в компьютерных системах необходимо преобразовывать их из десятичной системы в двоичную, а затем представлять в виде байтовых строк.

Это может быть полезно, например, для передачи числовых данных по сети, для сохранения числовых значений в файлы или базы данных, для обработки и анализа данных в программном коде и т.д. Кроме того, преобразование чисел в байтовые строки может быть полезным для представления данных в удобном для компьютера формате, что может повысить скорость и эффективность обработки данных.

Конвертация чисел в байтовые строки в Python выполняется с помощью функции to_bytes() встроенной в класс int.


n = 123456789
b = n.to_bytes((n.bit_length() + 7) // 8, 'big')
print(b) # выводит: b'\x07[\xcd\x15'


Один из примеров применения конвертации чисел в байтовые строки в Python - это работа с сетевыми протоколами. Например, при работе с протоколом TCP/IP, данные передаются в виде байтовых последовательностей, а для отправки числовых данных, таких как числа с плавающей точкой или целые числа, их необходимо преобразовать в байтовые строки.

Рассмотрим пример отправки целого числа по сети с использованием байтовых строк:


import socket

HOST = 'localhost' # адрес сервера
PORT = 12345 # порт сервера

# создаем сокет и подключаемся к серверу
client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
client_socket.connect((HOST, PORT))

# отправляем число в виде байтовой строки
n = 123456789
b = n.to_bytes((n.bit_length() + 7) // 8, 'big')
client_socket.sendall(b)

# закрываем соединение
client_socket.close()


В этом примере мы создали клиентское соединение с сервером, используя модуль socket. Затем мы преобразовали целое число n в байтовую строку b с помощью метода to_bytes(). Далее мы отправили байтовую строку по сети с помощью метода sendall(). В конце мы закрыли клиентское соединение.

На стороне сервера мы можем получить отправленное число, прочитав байтовую строку из сокета и декодируя ее обратно в целое число:



import socket

HOST = 'localhost' # адрес сервера
PORT = 12345 # порт сервера

# создаем сокет и привязываем его к адресу и порту
server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
server_socket.bind((HOST, PORT))
server_socket.listen(1)

# ожидаем подключения клиента
conn, addr = server_socket.accept()
print('connected by', addr)

# читаем байтовую строку из сокета и декодируем ее в целое число
data = conn.recv(1024)
n = int.from_bytes(data, 'big')
print(n)

# закрываем соединение
conn.close()
server_socket.close()


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

Откройте первое терминальное окно и перейдите в каталог, где находится клиентский скрипт.


>>>cd my_project

# Запустите клиентский скрипт, введя следующую команду:

python client.py

# Откройте второе терминальное окно и перейдите в каталог, где находится серверный 
скрипт

>>> cd my_project

# Запустите серверный скрипт


python server.py


После запуска обоих скриптов, клиентское приложение должно отправить целое число на сервер, который должен прочитать его и вывести на экран.

Обратите внимание, что скрипты должны быть запущены в правильном порядке: сначала запустите серверный скрипт, а затем клиентский скрипт. Если вы запустите скрипты в обратном порядке, клиентское приложение не сможет подключиться к серверу.

Таким образом, мы рассмотрели, как при помощи байтовых строк в Python передавать данные по сети.

Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!

Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.

Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления

Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.

Порекомендуйте эту статью друзьям:

Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

  1. Кнопка:

    Она выглядит вот так: Как создать свой сайт

  2. Текстовая ссылка:

    Она выглядит вот так: Как создать свой сайт

  3. BB-код ссылки для форумов (например, можете поставить её в подписи):

Комментарии (1):

ignates ignates 10.04.2023 11:53:24

Уже лет 7 сижу на этом сайте и все с него беру. Отличная у вас команда. Работа. Виктор МАрчевский, если ты тут сидишь, дай знать. Привет тебе от кво-мастера. Всем мира благополучия!

Ответить

Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.