所以基本上我想通过websockets发送由phaser加载的图像。 (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发送图像,还是我必须从结构中获取图片的密钥并发送它?
修改 是通过获取密钥来实现的,无论如何我认为这是一个更好的解决方案。
答案 0 :(得分:-1)
您应该先打开WebSocket(ws)。 ws促销将在同一TCP / IP连接上使用不同的模式(ws://)。使用开发控制台监视网络事务。
Socket.io必须同时在WebSocket“ tube”的服务器和客户端上使用。引用第84页的“ Phaser多人游戏系统”,“ Socket.IO并非具有其他实时协议后备选项的WebSocket库。它是在其他实时协议之上的自定义实时传输协议实现。它的协议协商部分使支持标准WebSocket的客户端无法联系Socket.IO服务器。实现Socket.IO的客户端无法与基于非Socket.IO的WebSocket或Long Polling Comet服务器通信。因此,Socket.IO要求在客户端和服务器端都使用Socket.IO库。”