2014-04-03 23 views
5

Próbuję zrobić zadanie programowania gniazdo z jednego z moich podręczników .. UDP ..Gniazdo nie ma atrybutu AF_INET?

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() 

Dlaczego otrzymuję ten błąd podczas uruchamiania klienta?

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' 

Zajrzałem na to forum i ktoś miał podobny problem, ale ich problemem było to, że mieli własny plik socket.py, który importowali. Ja nie używam standardowej Pythona jeden ...

Również to sidenote ....

Dlaczego nie można zezwolić na dostęp do Pythona na Windows 8, jest obecnie zablokowana dla niektórych powodu i jestem administratorem i jedynym kontem na tym komputerze i kiedy klikam Zmień ustawienia w Zezwalaj na program przez Zaporę sieciową (która nie jest wyszarzona, więc to dowodzi, że jestem administratorem), nic się nie pojawia .. Czy jest jakaś pomoc?

+1

Sprawdź jak ty importowane 'socket' i jak masz dostępu do niego. – FatalError

Odpowiedz

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

jakbyś zamierza zadzwonić AF_INET tak, należy import socket i nie from socket import * inaczej po prostu zrobić

clientSocket = socket(AF_INET, SOCK_DGRAM) 
+0

Dzięki koleś .... – user3476554