当前位置: 首页 > 知识库问答 >
问题:

ember-cli幻影重定向套接字。io客户端,注入幻影

庾远航
2023-03-14

这里出现的问题是,当我在示例socekt之间连接时。使用此套接字的io客户端。io服务器(按节点)。js(只运行两个终端并打开客户端和服务器之间的套接字连接)我没有问题

但是,当我试图注入这个套接字时。io客户端到我的Ember。js应用程序,准确地说,它会将我的客户端从给定地址重定向到类似于
http://localhost:8080/socket.io/?EIO=3


我还在浏览器中粘贴了检查控制台错误的屏幕截图:

错误图像


你知道如何解决这个问题吗?提前谢谢你,我也希望这个话题不要重复。

// server.js
var app = require('http').createServer(handler);
var io = require('socket.io')(app);
app.listen(8080);

function handler(req, res) {
  res.writeHead(200);
  res.end('default.index');
}

var rooms = {
  'room1': [

  ],
  'room2': [

  ]
};

io.on('connection', function(socket) {
  console.log('client connected');


  socket.on('join', function(roomName) {
    rooms[roomName].push(socket.id);
    socket.join(roomName);
  });

  socket.on('leave', function(roomName) {
    var toRemove = rooms[roomName].indexOf(socket.id);
    rooms[roomName].splice(toRemove, 1);
    socket.leave('roomName');
  });


  socket.on('eNotification', function(data) {
    console.log(data);
    io.to(socket.id).emit('eNotificationCall', data);
    io.to('room2').emit('eventNotification', data);
  });


  socket.on('gNotification', function(data) {
    console.log(data);
    io.to(socket.id).emit('gNotificationCall', data);
    io.to('room1').emit('diagram1Notification', data);
  });


  socket.on('close', function() {
    console.log('client disconnected');
  });

});


//client.js
var wsClient = {
  socket: null,
  connect: function() {
    this.socket = io.connect('http://localhost:8080');
    this.socket.on('connect', function() {

      console.log('mirage client connected!');
    });

  },
  send: function(eventData, graphData) {
    this.socket.emit('eNotification', eventData);
    this.socket.emit('gNotification', graphData);
  }

};
export default wsClient;



//config.js
import wsClient from './websockets/client';

export default function() {
wsClient.connect();
console.log(wsClient.socket);
var graphData = {X: "2", Y: "3"};
var eventData = {myDAta: 'myDAta', message: 'message'};
setInterval(function() {
    wsClient.send(graphData, eventData);
}, 5000);
}

共有1个答案

艾浩广
2023-03-14

如果调用 this.passthrough() 而不带参数,则它只允许当前域上的请求直通。看起来 websocket 连接位于不同的端口上,因此请尝试直接指定它:

this.passthrough('http://localhost:8080/**');

有关详细信息,请参阅文档。

 类似资料:
  • 元素呈现无形地保持相同的大小和其他维度,包括基线位置,如果它们正常呈现的内容将具有。 它用于通过隐形复制子表达式来对齐表达式的各个部分。 语法 (Syntax) 以下是使用此标记的简单语法 - <mphantom> expression </mphantom> 参数 (Parameters) 以下是此标记的所有参数的说明 - expression - 推断多个孩子的分娩。 属性 (Attribu

  • 我正在使用WifiManager测试特定SSID的存在,并验证给定的WPA密码,但我得到了一个奇怪的结果。 代码看起来像这样: 奇怪的是enableNetwork()返回true,即使带有SSID的wifi网络不在线(?!)。但是,请注意,如果目标Wifi网络存在且密码正确,则代码会成功建立连接。 Android文档说enableNetwork()“如果操作成功,则返回true。”我的问题是: 1

  • 问题内容: 我用NodeJS,socketIO和Express中的不同聊天室制作了一个聊天客户端。我正在尝试显示每个房间的已连接用户的更新列表。 有没有一种方法可以将用户名连接到对象,以便在执行操作时可以看到所有用户名: 然后执行以下操作: 我还可以通过其他方式做到这一点? 解决: 这有点重复,但是解决方案在任何地方都不很清楚地写出来,所以我想我会在这里写下来。这是的解决方案后由安迪轩至极被回答。

  • 当我尝试从Scala应用程序通过幻影插入卡桑德拉时,我收到以下错误代码。 Cassandra版本捆绑了:dsc-cassandra-3.0.1 [错误](run-main-0)com . datas tax . driver . core . exceptions . nohostavailableexception:尝试查询的所有主机都失败(尝试:localhost/127 . 0 . 0 .

  • 我对转基因食品的发展是新的,我有一个问题。我想为Eclipse编写一个插件。因此,我使用GMF仪表板视图。首先,我创建了一个ecore-file,它表示如下图所示。然后生成一个genmodel文件,用它可以为编辑器的某些部分创建源代码。然后导出一个图形化定义模型和一个工装定义模型,并将它们组合成一个映射模型。问题就从这里开始。 在最后一步中,当您组合这两个文件时,您可以编辑映射。但只显示了一个节点