如何在Python中正确调用套接字模块

问题描述 投票:1回答:3

我正在构建一个简单的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()
python udp udpclient
3个回答
1
投票

你需要像这样从套接字模块导入套接字

import socket
from socket import socket as sk
serverName = 'hostname'
serverPort = 1200
clientSocket = sk(socket.AF_INET, socket.SOCK_DGRAM)

等等


0
投票

我认为您已将程序命名为socket.py或将您的程序存储在包含socket.py的文件夹中。重命名文件或删除它们


0
投票

您的代码应该可以运行,您只需要更改即可

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

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

您正在尝试将输入提供给模块(socket)而不是模块内的功能(socket.socket

© www.soinside.com 2019 - 2024. All rights reserved.