Nodejs Socket.io正在使用桌面游戏机和铬,但不是iPhone

时间:2015-06-17 14:24:37

标签: ios iphone node.js sockets

我的nodejs服务器上有一个与socket.io相关的问题。问题与socket.io相关的东西在IOS8 +中不能用于IOS移动浏览器。我搜索过它并经历了一些解决方案,但没有任何效果。 以下是问题链接:
https://github.com/Automattic/socket.io/issues/976
http://www.codedisqus.com/7yzSqUgqge/socketio-working-on-desktop-safari-chrome-but-not-mobile.html

这是代码


    io.sockets.on('connection', function(socket) {
    process.emit('client-connection', socket.id);
      socket.on('authenticate', function(message) {
        console.log('Authenticating client with key "' + message.authToken + '"');
        authenticateClient(socket, message);
      });
    socket.on('message', function(message) {
    if (io.sockets.sockets[socket.id] && message.hasOwnProperty('type')) {
       if (message.hasOwnProperty('channel')) {
          if (settings.clientsCanWriteToChannels || ChannelIsClientWritable(message.channel)) {
              process.emit('client-message', socket.id, message);
          }
        }
       return;
      }
    });
    socket.on('disconnect', function () {
      console.log("in disconnect");
      process.emit('client-disconnect', socket.id);
      cleanupSocket(socket);
    });
    })

请告诉我。

基本问题是,当我尝试在浏览器上打开会话时,它工作正常,如果我尝试在iPhone设备浏览器上执行相同操作,则无法正常工作。

1 个答案:

答案 0 :(得分:0)

根据要求,问题是IOS套接字未在移动浏览器中通过SSL打开。我已经使用完整的代码包重新安装了SSL证书,它对我有用。

由于配置不完整,SSL代码包可能存在一些问题。