我正在尝试根据我的一本教科书进行套接字编程作业.. UDP 连接..
UDPServer.py
from socket import *
serverPort = 12000
serverSocket = socket(AF_INET, SOCK_DGRAM)
serverSocket.bind(('', serverPort))
print('The server is ready to receive:')
while 1:
message, clientAddress = serverSocket.recvfrom(2048)
modifiedMessage = message.upper()
serverSocket.sendto(modifiedMessage, clientAddress)
UDPClient.py
from socket import *
serverName = 'localhost'
serverPort = 12000
clientSocket = socket(socket.AF_INET, socket.SOCK_DGRAM)
message = raw_input('Input lowercase sentence:')
clientSocket.sendto(message,(serverName, serverPort))
modifiedMessage, serverAddress = clientSocket.recvfrom(2048)
print (modifiedMessage)
clientSocket.close()
为什么在运行客户端时会出现此错误?
Traceback (most recent call last):
File "UDPClient.py", line 4, in <module>
clientSocket = (socket.AF_INET, socket.SOCK_DGRAM)
AttributeError: type object 'socket' has no attribute 'AF_INET'
我在这个论坛上看了看,有人遇到了类似的问题,但他们的问题是他们有自己的 socket.py 文件,他们正在导入。我没有,我使用的是标准的 Python...
这也是一个旁注....
为什么我不能允许在 Windows 8 上访问 Python,它目前由于某种原因被阻止并且我是管理员并且是这台计算机上的唯一帐户,当我单击“允许程序通过防火墙”中的“更改设置”时(它不是灰色的out 所以它证明我是管理员),没有出现..有什么帮助吗?
最佳答案
clientSocket = socket(socket.AF_INET, socket.SOCK_DGRAM)
如果你打算像这样调用 AF_INET,你应该 import socket
而不是 from socket import *
否则就这样做
clientSocket = socket(AF_INET, SOCK_DGRAM)
关于python - Socket没有属性AF_INET?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22843636/