Only one usage of each socket address is normally permitted Python
<p>I wrote a basic program in to create a socket with a server and a client. But the problem is that when I run the code, it gives me an error saying that only one usage of each socket address is normally permitted. So I think the problem is due to the port, I changed the port and it still don't work. How do I get this to work?</p>

<p>This is my code :</p>

<p>Server</p>

<pre><code>import socket
sock = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
sock.bind(('localhost',3200))
sock.listen(1) 
print "Server is ready to receive data..."
client, address = sock.accept()
msg = client.recv(1024) 
print msg
</code></pre>

<p>Client</p>

<pre><code>import socket
connection_to_server = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
connection_to_server.bind(('localhost',3200))
msg = raw_input("Please enter a content :")
connection_to_server.send(msg) 
</code></pre>

<p>Thanks for your help !</p>

<p>For SOCK_STREAM sockets, your client should connect, not bind. From the <a href="https://docs.python.org/2/howto/sockets.html" rel="nofollow">Sockets HOWTO</a>:</p>

<pre><code>import socket
connection_to_server = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
connection_to_server.connect(('localhost',3200))
msg = raw_input("Please enter a content :")
connection_to_server.send(msg) 
</code></pre>

python sockets