【问题标题】:bytes(HOST) raises "string argument without an encoding" [duplicate]bytes(HOST)引发“没有编码的字符串参数”[重复]
【发布时间】:2016-09-29 20:20:09
【问题描述】:

我正在尝试使用 udp 通信使用 python 3.5,但我似乎无法让套接字库工作它总是给出这个错误

Traceback (most recent call last):
   File "C:\Users\Nicholas Hendricks\Desktop\udpServer.py", line 8, in  <module>
   bytes(HOST)
TypeError: string argument without an encoding

这是我的代码:

import socket
import time

HOST = 'localhost'
PORT =  5454
data = "sup bruh"

bytes(HOST)
bytes(PORT)
s = socket.socket(socket.AF_INET,socket.SOCK_DGRAM)


while 1:
    s.sendto(data,(HOST,PORT))
    print ("sent:" + data)

【问题讨论】:

  • b = bytes(HOST, 'utf-8')
  • 您不必将跟踪粘贴回标题中,摘要会更好。内容也可在 Internet 上搜索。

标签: python sockets udp


【解决方案1】:

问题在于bytes() 假定编码参数如下:

HOST = bytes(HOST, 'utf-8')

但我不明白为什么要将端口转换为字节,我正在打电话所以无法检查但它不应该是整数吗?

您可能还想转换数据:

data = bytes(data, 'utf-8')

【讨论】:

    猜你喜欢
    • 2020-04-22
    • 1970-01-01
    • 2016-10-02
    • 2015-09-18
    • 2019-01-28
    • 2018-10-16
    • 2017-03-23
    • 2016-12-30
    • 1970-01-01
    相关资源
    最近更新 更多