Как отправить байты с использованием Python (пример, пожалуйста!)

Сейчас я пытаюсь создать простой thingermajigger в python, чтобы проверить отправку пакетов UDP через сокет. Я думаю, что я получаю свой сценарий совершенно отлично, кроме использования команды socket.sendto. Я продолжаю получать сообщения об ошибках в части, в которой должны быть "байты"... либо TypeError: требуется interget, либо когда я делаю это interget TypeError: требуется строка. Может ли кто-нибудь предоставить мне пример того, как отправить байт?

смысл в моем сценарии, где я получаю ошибку, заключается в следующем... пожалуйста, заполните пример, а также возможные объяснения / документацию для новичка.

#full script as requested

import socket
import random

sock = socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
butes = random._urandom(1024)
 #originally found this as a way to generate bytes to send, but it didn't work out
print("target IP: ")
ip = input()
print("port: ")
port = input()

while 1:
    sock.sendto(butes, (ip, port))
    print("Sent %s amount of packets to %s at port %s." % (sent,ip,port))
    sent += 1

1 ответ

Решение

В вашем размещенном коде, port это str, вы должны использовать port = int(input())

В сторону: b'0x2E' который у вас был в исходном вопросе - 4 символа. Если ты имеешь ввиду chr(0x2E) Вы также можете написать '\x2E'

Другие вопросы по тегам