- 已关闭**。此问题需要超过focused。当前不接受答案。
- 想要改进此问题吗?**更新此问题,使其仅关注editing this post的一个问题。
1年前关闭。
此帖子在17小时前编辑并提交审查。
Improve this question
我试图在我的项目中实现P2P,但是我遇到了一个问题,因为对这个P2P的误解。
以下是我的实现方式:
1.客户端打开程序,并向服务器发送他想要连接它的信息,服务器将该客户端加入等待列表。
1.当有两个以上的人连接到服务器时,服务器向他们发送他们应该连接的地址,并将他们从列表中删除。
如何在一个文件中创建一个服务器和一个客户端?我应该创建两个线程吗?一个用于客户端,一个用于服务器?
如果有更好的方法,请告诉我。
1条答案
按热度按时间ar7v8xwq1#
我不太确定P2P系统对于项目需求是否必要,但是...
P2P系统不具有分离的客户端和服务器应用,而是存在充当客户端和服务器两者的单个应用。在某种意义上,应用充当客户端是因为它向服务器伸出,而它充当服务器是因为它接受来自客户端的查询/命令。
http://cs.berry.edu/~nhamid/p2p/framework-python.html展示了如何在Python中构造一个简单的p2p。这个例子创建了一个循环来接受传入的连接(其他对等体),并生成了一个线程来处理传入的连接。它还具有适当的结构来将消息发送回记录的对等体。
一个大问题是一个节点如何定位其他节点,这通常是通过第三方来处理的,比如一个专用的“协调”/“引导”服务器,它可以将一个节点指向至少另一个节点(从那里可以向该节点请求更多的节点)。考虑到您已经知道您的节点将用于连接到另一个节点的地址,您的项目可能不需要这样做。
参考上面的网站,您可以创建一个handler函数并将其放在self. handlers中,因为该函数将传入对等体的信息,您可以让应用程序发送回您希望的数据(要连接的地址)