I am working on a script that will transfer data between two separate computers with Internet access. I am using the standard python socket module. It works great when I run both the client and the server on the same computer, but I can not get everything to work when they run on different computers.
Here is part of my server code:
import socket, time,os, random class Server(): def __init__(self,Adress=('',5000),MaxClient=1): self.s = socket.socket() self.s.bind(Adress) self.s.listen(MaxClient) def WaitForConnection(self): self.Client, self.Adr=(self.s.accept()) print('Got a connection from: '+str(self.Client)+'.') s = Server() s.WaitForConnection()
And here is part of my client code:
import socket class Client(): def __init__(self,Adress=("Here is the IP of the computer on which the \ server scrip is running",5000)): self.s = socket.socket() self.s.connect(Adress) c = Client()
When I run these scripts on two different computers with Internet access, the client cannot connect and causes an error, and the server waits for connections forever.
What am I doing wrong?
python sockets tcp connection
Piotr dabkowski
source share