繁体   English   中英

出现错误“TypeError: a bytes-like object is required, not 'str'”,但为什么呢?

[英]Error "TypeError: a bytes-like object is required, not 'str'" appears, but why?

我想创建一个套接字通信,但是如果我运行以下脚本会出现错误:

import socket
import time

UDP_IP = "192.168.1.169"
UDP_PORT = 5005
sock = socket.socket(socket.AF_INET, # INTERNET
socket.SOCK_DGRAM) # UDP

while True:
    v = input("Message:      ")
    MESSAGE = str(v)
    sock.sendto(MESSAGE, (UDP_IP, UDP_PORT))

错误如下: TypeError: 需要类似字节的 object,而不是 'str'有人可以帮助我吗? 谢谢

Socket 要求您传递类似字节的 object 作为输入,请参阅文档 由于输入总是返回一个字符串,因此您只需对其进行编码即可从中获取类似字节的 object 。 所以试试类似的东西

...
while True:
    v = input("Message:      ")
    sock.sendto(v.encode(), (UDP_IP, UDP_PORT))
...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM