当前位置: 首页 > 知识库问答 >
问题:

我详细说明了为什么得到:typeerror:getsockaddrarg:AF_INET地址必须是元组,而不是字符串

太叔京
2023-03-14

Okey,我盯着这两段代码看了很久,弄不清为什么会收到这个错误:typeerror:getsockaddrarg:AF_INET地址必须是tuple,而不是str。

import echoUDP

serveraddress = '0.0.0.0'
serverport = 5002

server2 = (server_address, server_port)
s.bind(server2)
print("Listening on " + server_address + ":" + str(server_port))
s.connect(('0.0.0.0',5005))

while True:
    client_address = ('0.0.0.0.')
    status = 'ok'
    print("Echoing back"+ str(status) + " to " + str(client_address))
    sen = s.sendto(status.encode(),clientaddress)
import socket

sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)

server_address = '0.0.0.0'
server_port = 5005

server = (server_address, server_port)
sock.bind(server)
print("Listening on " + server_address + " Port: " + str(server_port))
sock.connect(('0.0.0.0', 5002))
while True:
    client_address = ('0.0.0.0')
    status = 'ok'
    print("Echoing back "+ str(status) + " to " + str(client_address))
    sen = sock.sendto(status.encode(),client_address)

共有1个答案

苗森
2023-03-14

sock.sendto()的第二个参数应该是包含主机和端口的元组,例如('0.0.0.0',5005)。因此,在您的代码中,使用:

sen = sock.sendto(status.encode(), (server_address, server_port))

另外,('0.0.0.0')不是元组。(“0.0.0.0”,)将是长度为1的元组。在Python中创建元组时,括号是可选的--逗号的存在告诉Python您正在创建一个元组。这些例子应该可以说明。

a = 1,
type(a)
>>> tuple

b = 1, 2
type(b)
>>> tuple

c = (1)
type(c)
>>>> int
 类似资料:
  • 我与Wildfly和OpenJPA合作。我有一个乐观锁例外的情况。 我得到的错误消息是: 00:08:29373警告[com.arjuna.ats.arjuna](默认任务-39)arjuna01225:TwoPhaseCoordinator。beforeCompletion-SynchronizationImple失败 :org.apache.openjpa.persistence.乐观锁定异常

  • 本文向大家介绍什么是ABAP?详细说明ABAP OOP功能?,包括了什么是ABAP?详细说明ABAP OOP功能?的使用技巧和注意事项,需要的朋友参考一下 ABAP代表高级业务应用程序编程。它是用于为SAP R / 3系统及其相关模块开发程序和应用程序的主要编程语言之一。这是关于SAP的高级语言,因为只有SAP环境才能理解和了解。 ABAP对象的最新版本是ABAP对象,它遵循面向对象的范例。而且,

  • 问题内容: 我已经将脚本从Python 2.7转换为3.2,并且有一个错误。 在最后一行,我得到了这个错误: 我已经安装了Python 3.2,并且已经安装了lxml-2.3.win32-py3.2.exe。 在Python 2.7上可以使用。 问题答案: 输出文件应处于二进制模式。

  • 我知道很多人问过相关的问题,但请帮我解决。我试图复制一个我在网上找到的开源温度控制实验室。我想在树莓皮上运行它。这就是我一直遇到的错误: 生成它的代码如下所示: 我相信这段代码试图通过以下代码与另一个python文件通信: 我还不知道我周围的python代码,所以一个非常清晰的“虚拟类”解决方案的解释会很有帮助。谢谢伙计们。

  • 我使用的是Python3.3,但在尝试pickle一个简单的字典时出现了一个隐秘的错误。 代码如下: 我得到:

  • 问题内容: 在.NET Framework 的参考中,使用type 声明请求类型。 在RFC 2616 中,声明了所有HTTP请求方法(例如POST,GET,PUT,DELETE …)。 .NET 和类中也存在类似的行为。 Java在方法上有类似的方法。 这些语言设计者为什么不考虑为这些HTTP方法实现枚举? 你有好主意吗? 问题答案: RFC 2616 链接的第一句话(添加了重点): HTTP