2014-10-30 35 views
0

我從程序的客戶端運行時收到一個屬性錯誤,我很確定我做的一切正確,但顯然不是。來自python客戶端套接字的AttributeError

下面的代碼:

from socket import * 
serverName = 'hostname' 
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.socket(socket.AF_INET, socket.SOCK_DGRAM) 
AttributeError: type object '_socketobject' has no attribute 'socket' 

編輯:

Traceback (most recent call last): 
    File "UDPClient.py", line 6, in <module> 
    clientSocket.sendto(message,(serverName,serverPort)) 
socket.gaierror: [Errno 8] nodename nor servname provided, or not known 

回答

2

你得到這個錯誤。既然你import *,只需使用AF_INETSOCK_DGRAM

>>> from socket import * 
>>> clientSocket = socket(AF_INET, SOCK_DGRAM) 

測試使用Py3.4

+0

這個工作完美,感謝我的機器! – user2318083 2014-10-30 17:01:09

+0

既然我們在這個相同的代碼,你會碰巧知道爲什麼我得到新的'編輯'下的gaierror?我有一個服務器名稱和端口作爲服務器,但它給了我socket.gaierror。 – user2318083 2014-10-30 17:20:50

+0

@ user2318083'serverName ='127.0.0.1'',你不希望'hostname'是你的工作。 – laike9m 2014-10-31 02:31:02