Я хочу отправить запрос данных через udp с помощью API сокета. Формат запроса следующий:
ID | Data_Length | Data
Запрос содержит следующие параметры: Идентификатор (ID), (Data_Length) - это размер (Data) и (Data), который представляет собой данные для (Data) имеет переменный размер.
Код, который я написал, выглядит следующим образом:
def send_request():
request_format="bbs" # 1 Byte for the ID 1 Byte for Data_Length and s for data
data_buff=np.array([1,2,3,4,5,6,7,8,9]) # Data to be sent
msg = struct.pack(request_format,0x01,0x09,data_buff.tobytes())
print("msg = ", msg)
s0.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1)
s0.sendto(msg, (UDP_BC_IP, UDP_SERVER_PORT))
Мои вопросы:
1 - При помощи Wireshark я вижу что только 1-й байт данных был отправлен почему?
2- Вывод команды печати: msg = b'\x01\t\x01'
почему я получил этот вывод, я ждал что-то похожее на [0x01,0x09,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09]