【发布时间】:2016-05-25 16:58:08
【问题描述】:
我想设计一个 P2P 网络。这是一个解释我的问题的简化程序。
我想问有没有办法同时连接和接受连接。
如果不是,P2P 网络是否使用两个端口,一个接受,另一个连接。
我正在使用线程,因为我必须在所有机器上运行该程序的示例。这就是为什么我要输入主机和端口。在主线程上,它接受连接和其他连接。
下面的程序给我以下错误:
socket.error: [Errno 106] 传输端点已连接
import socket
from threading import Thread
s = socket.socket()
s.bind(('localhost', 6000))
def rec():
s.listen(1)
c, addr = s.accept()
print 'Connection received from ' , addr
def test():
host = raw_input("Enter Host address : ")
port = input("Enter port : ")
s.connect((host, port))
print s.getsockname()[0]
def main():
t = Thread(target=rec, args=())
t.start()
test()
if __name__ == '__main__':
main()
【问题讨论】:
标签: python multithreading sockets p2p