JavaScript – 使用PeerJS进行广播或对等体发现

发布时间:2020-01-13 发布网站:脚本之家
脚本之家收集整理的这篇文章主要介绍了JavaScript – 使用PeerJS进行广播或对等体发现脚本之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在评估PeerJS,以便实现一个简单的双人在线游戏.看来,一旦我将一个玩家的连接的ID转移到另一个玩家的连接,他们可以通过PeerJS打开一个频道,并且很好.

但是,如果两个玩家想玩,那些不相识的,那么最优雅的方式是在那里进行比赛?有没有办法向PeerJS代理询问所有连接的客户端的列表,可能附加一些元数据(如“状态:想要玩”)?还是向所有客户广播?

解决方法

使用 PeerServer可以抓住两个事件,连接和断开连接.使用它可以创建一个内部列表,然后可以让应用程序从中获取.

部分示例:

var PeerServer = require('peer').PeerServer;
var server = new PeerServer({port: 9000,path: '/myapp'});
var connected = [];
server.on('connection',function (id) {
  var idx = connected.indexOf(id); // only add id if it's not in the list yet
  if (idx === -1) {connected.push(id);}
});
server.on('disconnect',function (id) {
  var idx = connected.indexOf(id); // only attempt to remove id if it's in the list
  if (idx !== -1) {connected.splice(idx,1);}
});
someexpressapp.get('/connected-people',function (req,res) {
  return res.json(connected);
});

然后,在您的客户端代码中,您可以使用AJAX /连接人员并使用该列表.

对于元数据,您可以扩展上述代码以添加用户状态以及更新该状态的方法.

希望这可以帮助!

编辑编写时,事件被命名为连接.它现在命名为连接.

(另外我现在要和PeerJS一起玩六个小时,希望你能意识到自己已经做了什么.)

总结

以上是脚本之家为你收集整理的JavaScript – 使用PeerJS进行广播或对等体发现全部内容,希望文章能够帮你解决JavaScript – 使用PeerJS进行广播或对等体发现所遇到的程序开发问题。

如果觉得脚本之家网站内容还不错,欢迎将脚本之家网站推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:76874919,请注明来意。

脚本之家官方公众号

微信公众号搜索 “ 程序精选 ” ,选择关注!

微信公众号搜索 “ 程序精选 ” ,选择关注!
精选程序员所需精品干货内容!

标签: