草庐IT

C# P2P聊天应用程序设计

我想创建一个不使用显式服务器的简单聊天应用程序。主要要求是用户可以同时与许多friend聊天(就像在Skype等上一样)。我在这里不是指session聊天,而是多个单独的聊天窗口。目前,我只想要一个LAN消息传递应用程序,但如果该设计易于扩展到Internet连接,我将不胜感激。我想知道什么样的设计适合这样的应用。您如何看待一个解决方案,其中每个用户应用程序都有一个TcpListener(隐式服务器)和多个TcpClient对象-他/她的每个friend一个交谈。如何对远程用户进行身份验证?聊天应用程序应该生成证书(X509或其他)还是假设LAN中的用户是可信的:)最诚挚的问候,

networking - P2P 应用程序中的直接 TCP/IP 连接

来自Joel'spostonCopilot:DirectConnect!We’vealwaysdoneeverythingwecantomakesurethatFogCreekCopilotcanconnectinanynetworkingsituation,nomatterwhatfirewallsorNATsareinplace.Tomakethishappen,bothpartiesmakeoutboundconnectionstoourserver,whichrelaystrafficontheirbehalf.Well,inmanycases,thisisn’tnecessa

java - AKKA 远程 actor 可以用于 p2p swarm 环境吗?

我见过Akka的大多数用例参与者是高性能的多核服务器或本地集群。我很好奇它是否适用于更偏远的高延迟和高度失败群结构,例如p2p网络。我想到的应用程序将具有关于集群节点的可信任性和/或资源充足性的规则,从而赋予它们一些状态,就像bittorrent一样。它还需要能够尽可能地在整个群中传播事务,但最终或部分一致性是可以接受的。可扩展性比一致性更重要。AKKA是构建此类东西的潜在解决方案吗?与其他方法相比,它是否有任何特定的优势或劣势。 最佳答案 在这种情况下使用Akka的主要问题是Actor系统没有针对这种去中心化分布式计算的适当可扩展

python - 使用 Python 的 P2P 应用程序

关闭。这个问题需要更多focused.它目前不接受答案。想改进这个问题吗?更新问题,使其只关注一个问题editingthispost.关闭11个月前。社区在11个月前审查了是否重新打开此问题,并将其关闭:原始关闭原因未解决Improvethisquestion我正在尝试在我的项目中实现P2P,但是由于对这个P2P的误解,我遇到了一个问题。下面是我的实现方式:客户端打开程序,向服务器发送连接请求,服务器将客户端加入等待列表。当超过两​​个人连接到服务器时,服务器会向他们发送他们应该连接的地址,并将他们从列表中删除。那么问题来了:如何在一个文件中创建服务器和客户端?我应该创建两个线程-一个

用于编写 P2P 应用程序的 Python 库/框架

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。关闭7年前。Improvethisquestion有没有用Python编写P2P应用程序的库或框架?我知道最初的Bittorrent客户端是用Python编写的。我看起来像JXTA但对于Python。

python - Twisted 和 p2p 应用程序

你能告诉我:我可以使用twisted来创建p2p应用程序吗?我应该为此选择什么协议(protocol)? 最佳答案 最好的解决方案是使用BitTorrent的源代码。它是用Twisted构建的,直到他们切换到名为Utorrent的C++实现。最后为人所知的BitTorrentTwisted版本http://download.bittorrent.com/dl/archive/BitTorrent-5.2.2.tar.gz旧版本http://download.bittorrent.com/dl/archive/或者,您可能还想看看Ve

html - WebRTC P2P - 更新

什么时候可以通过P2P与WebRTC交换任何类型的数据?我正在考虑制作一个P2P比特流软件,而不是流式传输音频/视频。谢谢 最佳答案 有一些JS库:PeerJS和BoneValue用于使用WebRTC进行P2P数据交换。如果您想制作一个类似BitTorrent的JS应用程序来发送文件,请注意已经有一些-BtAppJS,ShareFest,ShareIt,RTC-P2P,和P2P-Share. 关于html-WebRTCP2P-更新,我们在StackOverflow上找到一个类似的问题:

javascript - 有哪些技术可用于在浏览器中进行 P2P?

按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭10年前。Web开发人员目前有哪些选择可以在Web浏览器中实现客户端对等系统?一些假设的示例可能是在客户端找到彼此后绕过网络服务器的文件共享服务,或聊天服务。我所知道的:聊天轮盘使用的网站讨论的一些闪存技术here.我也知道OperaUnity扩展浏览器模型包括客户和一个服务器,还有这个firefoxplugin其工作方式类似我也刚遇到thisblogpost与J

c# - 编程P2P应用程序

我正在编写一个在端口4900上运行的自定义p2p程序。在某些情况下,当此人位于路由器后面时,无法从Internet访问此端口。是否有一种自动启用从Internet访问端口的方法。我不太确定其他p2p应用程序是如何工作的。任何人都可以解释一下吗? 最佳答案 P2P连接简而言之。假设我们在这里谈论UDP。通过一些调整,以下步骤也可以应用于TCP。枚举您所有的本地IP地址(通常只有1个)。为每个具有IP地址的适配器在给定端口号**上创建UDP套接字。对于第1步中创建的每个套接字,使用相同的套接字联系STUN或TURN服务器以发现您的外部I

go - 如何使用 libp2p 在 golang 中处理缓冲的读写流?

我正在学习本教程:https://github.com/libp2p/go-libp2p-examples/tree/master/chat-with-mdns简而言之,它:配置p2p主机为传入连接设置默认处理函数(3.不需要)并向连接的对等点打开一个流:stream,err:=host.NewStream(ctx,peer.ID,protocol.ID(cfg.ProtocolID))然后创建缓冲流/读写变量:rw:=bufio.NewReadWriter(bufio.NewReader(stream),bufio.NewWriter(stream))现在这个流用于在点之间发送和接收