파이썬 2.7에서 간단한 피어 투 피어 네트워크를 만들려고합니다. 문제는 두 컴퓨터가 서버와 클라이언트의 역할을하는 두 컴퓨터간에 연결을 생성 할 수없는 것 같습니다. 하나는 서버이고 다른 하나는 클라이언트이지만 둘 다있을 때는 작동하지 않을 수 있습니다. 2 개의 소켓을 만들어야합니까? 또한 TCP를 사용하여 연결합니다.파이썬 소켓 피어 투 피어
UPDATE :
import socket, sys # Import socket module
s = socket.socket() # Create a socket object
host = socket.gethostname() # Get local machine name
port = 12345 # Reserve a port for your service.
s.bind((host, port)) # Bind to the port
if sys.argv[1] == "connect":
host = sys.argv[2]
s.connect((host, port))
s.close
else:
s.listen(5) # Now wait for client connection.
while True:
c, addr = s.accept() # Establish connection with client.
print 'Got connection from', addr
c.send('Thank you for connecting')
c.close()
코드 매우 좋지 않아 누군가가 인수를 사용할 필요가 클라이언트로 연결하기 때문에은 "연결"두 번째 시스템의 호스트 이름 또는 IP 하였다. 저는 두 사람이 서로 연결되어 동시에 봉사 할 수 없습니다.
코드를 공유하십시오. –
질문을 업데이트했습니다. 감사! – user3566150