Ionic 2 App和本地主机通信服务器无法正常工作

时间:2017-03-15 14:27:23

标签: cordova angular ionic2 windows-10 windows-8.1-universal

我正在为Windows 10构建一个Ionic 2应用程序,需要与运行在localhost上的服务器进行通信。

如果我在浏览器中运行我的应用程序(使用ionic serveionic run browser),一切正常,但如果我使用ionic run windows启动应用程序,则App和LocalServer之间的通信无效我无法收到任何错误消息(应用程序的其余部分工作正常)。

在服务器在另一台设备上运行(不使用localhost)的情况下,一切都运行正常......问题是我需要让App和服务器在同一设备上运行,任何有关hapening的提示以及如何解决这个问题?

如果事情不够明确,请告诉我。提前谢谢!

服务器:

var io = require('socket.io')();
io.on('connection', function(client){
  console.log('Connected...');
  client.on('message', function(data){
    console.log('message: ' + data);
  });
  client.on('disconnect', function() { console.log('Disconnected...'); });
});
io.listen(3300);

客户端方法(Ionic 2 App):

  connect() {
    console.log('Connect...');
    this.socket = io.connect('http://127.0.0.1:3300');
  }
  disconnect() {
    console.log('Disconnect...');
    this.socket.disconnect();
  }
  send() {
    console.log('Send...');
    this.socket.emit('message', 'test message...');
  }

修改

另一种可能有助于描述问题的奇怪行为:

如果我启动服务器和应用程序并调用connect方法(来自客户端)服务器中没有任何反应...但只需重新启动服务器我就能看到console.log('Connected...');的结果。由于客户端配置为在连接丢失后自动重新连接,因此可能由于此重新连接请求而执行console.log('Connected...');

这意味着,在某种程度上,Ionic App客户端能够到达服务器,尽管我无法弄清楚为什么在重新启动服务器后才会发生这种情况。即使之后我无法进行实时通信,问题也是一样的,我只能在服务器重启后才能获得一些活动。

0 个答案:

没有答案