I'm getting an attribute error from running the client side of the program, I'm pretty sure I did it everything correctly but apparently not.
Here's the code:
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()
This is the error I get:
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'
EDIT:
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
asked Oct 30, 2014 at 16:35
user2318083
5871 gold badge11 silver badges28 bronze badges
1 Answer 1
You're getting this wrong. Since you import *, just use AF_INET and SOCK_DGRAM
>>> from socket import *
>>> clientSocket = socket(AF_INET, SOCK_DGRAM)
Tested on my machine using Py3.4
answered Oct 30, 2014 at 16:52
laike9m
19.6k23 gold badges117 silver badges154 bronze badges
Sign up to request clarification or add additional context in comments.
4 Comments
user2318083
Since we're on this same code would you happen to know why I get the gaierror under the new 'EDIT'? I have a server name and same port as the server but it's giving me that socket.gaierror.
laike9m
@user2318083
serverName = '127.0.0.1', you aren't expecting hostname to work are you.user2318083
I fixed it but I did serverName = '' and it works also. @laike9m
laike9m
@user2318083 The doc says:
the empty string represents INADDR_ANY.lang-py