2013-06-28 1 views
3

사용하여 동일한 네트워크에있는 두 대의 컴퓨터를 연결하는 방법이이 클라이언트 프로그램파이썬

import socket 

s = socket.socket() 
host = socket.gethostname() 
port = 9077 
s.connect((host, port)) 
print s.recv(1024) 

에게 있습니다

import socket 

s = socket.socket() 
host = socket.gethostname() 
port = 9077 
s.bind((host,port)) 
s.listen(5) 

while True: 
    c, addr = s.accept() 
    print("Connection accepted from " + repr(addr[1])) 
    c.send("Thank you for connecting") 
    c.close() 

서버 측 프로그램을이다 나는 동일한 컴퓨터에서 두 프로그램을 실행하면 , 그것은 완벽하게 작동합니다. 그러나 클라이언트와 서버 프로그램을 동일한 네트워크에있는 두 개의 다른 컴퓨터에서 실행하면 프로그램이 작동하지 않습니다.

아무도 동일한 네트워크의 한 컴퓨터에서 다른 컴퓨터로 메시지를 보내는 방법을 알려줄 수 있습니까?

저는 처음으로 네트워크 프로그래밍을하고 있습니다. 당신이 client의 호스트 이름이 아닌 servers 호스트 이름/IP 주소를 사용하고 있기 때문에 어떤 도움 사전

답변

1

당신은 클라이언트 컴퓨터에 클라이언트에서 연결하는, 또는 잘 시도하는에

감사를 감상 할 수있다.

그래서,이 변화를 줄 s.connect((host, port))를 해결하기 위해 그래서 대신 clienthostnameservers IP 주소에 host 점.

당신은 서버에서 네트워크 설정을보고하고 다음을 수행하여이 문제를 찾을 수 있습니다 : 서버가 같은 컴퓨터가 아닌 경우

host = "the ip found from the server's network settings" 
+0

감사합니다. 이것은 도움이되었습니다. – shashank93rao

0

호스트 서버의 IP로 편집해야합니다.