Python 错误号10049:正在创建UDP套接字

Python 错误号10049:正在创建UDP套接字,python,udp,Python,Udp,该代码用于创建客户端UDP套接字。我不知道怎么了 # UDPPingerClient.py from socket import * serverName = ''; serverPort = 12000; clientSocket = socket(AF_INET, SOCK_DGRAM) message = raw_input("Input message:") clientSocket.sendto(message,(serverName,serverPort)) modifi

该代码用于创建客户端UDP套接字。我不知道怎么了

# UDPPingerClient.py

from socket import *

serverName = '';
serverPort = 12000;


clientSocket = socket(AF_INET, SOCK_DGRAM)

message = raw_input("Input message:")
clientSocket.sendto(message,(serverName,serverPort))

modifiedMessage, serverAddress = clientSocket.recvfrom(1024)
print(modifiedMessage)
print(serverAddress)
clientSocket.close()
第12行中的错误号10049


我猜您是根据错误号使用Windows的,根据错误号,错误号10049如下:

无法分配请求的地址。 请求的地址在其上下文中无效。这通常是由于试图绑定到对本地计算机无效的地址而导致的。当远程地址或端口对远程计算机无效(例如,地址或端口0)时,connect、sendto、WSAconConnect、WSAJoinLeaf或WSASendTo也会导致此问题


这可能是由于尝试使用同一套接字发送和接收导致的。因此,您需要创建两个套接字,一个用于接收,另一个用于发送信息

我猜您是根据错误号使用Windows的,根据错误号,Errno 10049如下所示:

无法分配请求的地址。 请求的地址在其上下文中无效。这通常是由于试图绑定到对本地计算机无效的地址而导致的。当远程地址或端口对远程计算机无效(例如,地址或端口0)时,connect、sendto、WSAconConnect、WSAJoinLeaf或WSASendTo也会导致此问题

这可能是由于尝试使用同一套接字发送和接收导致的。因此,您需要创建两个套接字,一个用于接收,另一个用于发送信息

MSDN:

WSAEADDRNOTAVAIL 10049 无法分配请求的地址

请求的地址在其上下文中无效。这通常是由于试图绑定到对其无效的地址而导致的 本地计算机。这也可能是由于
连接
发送到
, 当远程地址或端口 对于远程计算机无效(例如,地址或端口0)

这是因为您试图使用空的
serverName
调用
sendto
。使用有效地址,如
'example.com'
'127.0.0.1'
'0.0.0'
,它会工作

当您在新套接字上调用
sendto
时,它首先尝试将服务器地址和端口转换为表示形式,这可由系统API使用。空字符串不是有效的地址,您将收到错误信息。

MSDN:

WSAEADDRNOTAVAIL 10049 无法分配请求的地址

请求的地址在其上下文中无效。这通常是由于试图绑定到对其无效的地址而导致的 本地计算机。这也可能是由于
连接
发送到
, 当远程地址或端口 对于远程计算机无效(例如,地址或端口0)

这是因为您试图使用空的
serverName
调用
sendto
。使用有效地址,如
'example.com'
'127.0.0.1'
'0.0.0'
,它会工作


当您在新套接字上调用
sendto
时,它首先尝试将服务器地址和端口转换为表示形式,这可由系统API使用。空字符串不是有效的地址,您会收到错误。

否,这是因为他使用空地址否,这是因为他使用空地址