Python 如何正确调用socket模块
How to call socket module properly in Python
我正在构建一个简单的 UDP 客户端,但是,我收到一条错误消息 "socket is not callable"。我检查了代码,它可以找到问题
我尝试使用 "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
)
我正在构建一个简单的 UDP 客户端,但是,我收到一条错误消息 "socket is not callable"。我检查了代码,它可以找到问题
我尝试使用 "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
)