【问题标题】:Sending phaser image over websockets通过 websockets 发送移相器图像
【发布时间】:2018-06-13 01:37:09
【问题描述】:

所以基本上我想通过 websockets 发送一个由移相器加载的图像。 (socket.io) 但是,图像中似乎有某种递归/循环结构,因此我无法发送它(或将其转换为字符串)。

现在我想我已经找到了问题发生的点,但我不知道如何避免它。

图片的部分结构: snippet out of the console in chrome

代码:

Game.prototype = {

preload: function(){
    let me = this;
    console.log("loading images...");
    me.game.load.image('dragon', '/dragon.png');
    me.game.load.image('kraken', '/kraken.png');
    me.game.load.image('godzilla', '/godzilla.png');
    me.game.load.image('alien', '/alien.png');
},

是否有可能通过这样的 websockets 发送图像,还是我必须从结构中获取图片的密钥并发送它?

编辑: 通过获取密钥来做到这一点,无论如何我猜这是一个更好的解决方案。

【问题讨论】:

    标签: javascript typescript websocket socket.io phaser-framework


    【解决方案1】:
    1. 您应该先打开 WebSocket (ws)。 ws 提升将在同一 TCP/IP 连接上使用不同的模式 (ws://)。使用开发控制台查看网络事务。

    2. Socket.io 必须在 WebSocket“管”的服务器端和客户端上都使用。引自“Phaser 多人游戏系统”第 84 页,“Socket.IO 不是一个 WebSocket 库,它具有其他实时协议的后备选项。它是在其他实时协议之上的自定义实时传输协议实现。它的协议协商部分导致支持标准 WebSocket 的客户端无法联系 Socket.IO 服务器。并且 Socket.IO 实现客户端无法与基于非 Socket.IO 的 WebSocket 或 Long Polling Comet 服务器通信。因此,Socket.IO 需要在客户端和服务器端都使用 Socket.IO 库。”

    【讨论】:

      猜你喜欢
      • 2013-08-26
      • 1970-01-01
      • 2015-12-08
      • 2020-10-17
      • 2020-03-29
      • 1970-01-01
      • 2012-08-27
      • 2014-01-16
      • 2020-11-21
      相关资源
      最近更新 更多