Articles of p2p

闪存套接字,对等function

快速介绍:我们已经完成了一个Flash俄罗斯方块游戏,我们正在寻找添加多人游戏function。 在对闪存和sockets的function进行了几天的研究后,我感到更加困惑。 一个快速的声明,我是一般的sockets/networking新手。 从我在线收集的信息来看,由于策略系统的原因,一般的flash tcp套接字无法处理对等连接。 为了使闪存做p2p,必须使用支持RTMFP的服务器(例如闪存介质服务器等)来处理初始握手,并且从那里闪存能够以p2p方式传递数据。 编辑:查看问题的全面更新的第一个答案。

是否有可能在不同的networking中创build点对点连接?

我想创build2个nodejs客户端之间的点对点连接。 使用websocket(dnode) 这里是极限: nodejs客户端运行在两台不同的networking上。 它们在NAT或防火墙后面没有静态IP(192.168.1.100 && 192.168.2.200) 没有权限更改路由器的映射。 在公共networking中只有静态Web服务器。 (可以通过人工更改文件) 可以在PC上安装应用程序(win) 可能吗? 谢谢

使用IPFS的分散式聊天应用程序

我正在使用nodejs , expressjs , angularjs , socket.io和ipfs编写一个分散的聊天应用程序。我使用libp2p来形成将通过打开的连接相互通信的节点。 Libp2p是一个IPFS项目模块化的networking堆栈。 Libp2p允许我构build能够托pipeswarm或者listening/ dialing nodes 。 我已经发展到几个节点可以通过angularjs(由socket.io补充)网页的input相互通信的点,但是它们的IP地址和tcp端口需要被硬编码。 我面对的问题是,如果有不明身份的用户join这个系统并设置他们的节点,我该如何处理这个情况。 我已经对DHT进行了大量的研究,特别是将其应用于山洪,但是实际上并没有实际应用。 我不想运行一个跟踪用户的中央系统,因为跟踪者跟踪种子和洪stream中的浸入者(现在由于DHT而有些多余) 在一个集中式聊天应用程序中,每次用户进入或离开时,我都可以从服务器向所有使用socket.io信号发送的对等方发送事件。 但是,在分散的聊天应用程序中的等价物是我正在苦苦挣扎的事情。 我需要一些指导。

什么是超驱动,和dat有什么不同?

我一直在尝试进入dat,我想知道dat和hyperdrive模块之间的区别。

在Javascript中可以实现端到端的encryption吗?

我目前正在研究创build一个(peer2peer)消息客户端的encryption方面的可能性,从而安全。 此应用程序将基于Web技术(如果可能)。 我的问题是:只有javascript(client&node.js / peer.js)的端到端encryption是可能的吗? 如果是:查看HMAC(RSA)类encryption技术是否正确? 我已经试着了解一下这些库是如何工作的,但是到目前为止我还没有运气。 lib的我觉得很有趣,但我不(完全)理解和知道如何实现(在这个用例中): http://bitwiseshiftleft.github.io/sjcl/ https://github.com/Caligatio/jsSHA https://code.google.com/p/crypto-js/ 如果需要,我可以尝试详细说明。 更新:应用程序将成为一个移动应用程序。 networking技术的使用是一个概念validation。

可以Node.js运行在客户端与Chrome的本地客户端(即将发布)

Google Chrome的本地客户即将发布。 http://blog.chromium.org/2011/02/native-client-getting-ready-for-takeoff.html这将允许node.js在浏览器中运行,使分布式应用程序彼此进行通信,而无需通过服务器?

使用node.js作为WebRTC peer?

在WebRTC中使用node.js作为对等体的模块是什么? 我想使用比P2P更多的客户端/服务器方式的WebRTC,因为它明显的能够不可靠地发送数据包。 (也就是说,我不想用TCP数据包来保证数据包到达的TCP大规模的延迟) 如果我不得不使用精简的浏览器页面作为服务器,那么这可能会工作…但是,这将是次优。 Node.js会让事情变得更顺畅,也可能更可靠。 谢谢!

WebRTC:匹配最近的同行

给定一个公共IP地址(对等体A)和许多其他公有IP地址(IPv4和IPv6地址混合)的列表,最简单的方法是将对等体A与最近对等体的IP地址进行匹配,对等方手动ping对方进行延迟基准testing? 我认为这可以使用BGP与一堆复杂的查询(也许涉及OSPF),但我希望可能有一个解决scheme或库,使它像下面的理论function调用一样简单。 // `peer` is a single IP address. `peer_list` is a list of IP addresses // get the 5 nearest peers (ordered) to `peer` from `peer_list` nearest_peers = get_nearest_ips(peer, peer_list, 5); 我应该只使用MaxMind的GeoIP数据库+ Haversine / Vincenty的本地实例,还是通过一个库(在需要的时候使用适当的caching)来使用BGP来实现这一目标是否可行? 似乎这种代码可能存在于一个开放源代码的选播路由实现中,尽pipe我还没有find任何符合这个用例的东西。 解决scheme或build议的库不必在node.js上工作 – 任何语言都可以。

是否可以在node.js服务器上设置一个运行(服务器端)的socket.io客户端?

我想在两个或多个不同的node.js应用程序服务器之间启用基于套接字的p2p通信。 我使用socket.io来处理给定的服务器和它所服务的Web应用程序之间的所有这种通信 – 但是我正在寻找的是一种沟通服务器到服务器的方式。 我最初认为它会像这样简单: var io = require("socket.io"); var socket = io.connect("my remote endpoint"); 但是,事实certificate,服务器端的socket.io实现不提供“连接”方法,只有一个监听方法。 为什么是这样? 为什么我不能将节点应用程序服务器作为运行在别处的socket.io服务器的客户端? 有什么办法可以实现这个function吗?