我正在构建一个简单的UDP客户端,但是,我收到一条错误消息“socket不可调用”。我检查了代码,它可以找到问题
我尝试使用“from socket import *”导入模块,但它不起作用。
import socket
serverName = 'hostname'
serverPort = 1200
clientSocket = socket(socket.AF_INET, socket.SOCK_DGRAM)
message = 'Testing the system'
clientSocket.sendto(message, (serverName, serverPort))
modifiedMessage, serverAddress = clientSocket.recvfrom(2048)
print(modifiedMessage)
clientSocket.close()
你需要像这样从套接字模块导入套接字
import socket
from socket import socket as sk
serverName = 'hostname'
serverPort = 1200
clientSocket = sk(socket.AF_INET, socket.SOCK_DGRAM)
等等
我认为您已将程序命名为socket.py
或将您的程序存储在包含socket.py
的文件夹中。重命名文件或删除它们
您的代码应该可以运行,您只需要更改即可
clientSocket = socket(socket.AF_INET, socket.SOCK_DGRAM)
至
clientSocket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
您正在尝试将输入提供给模块(socket
)而不是模块内的功能(socket.socket
)