与ios socket.io客户端连接时未处理的socket.io url

时间:2015-11-30 21:09:26

标签: ios node.js sockets socket.io cloud9-ide

我在使用cloud9托管的socket.io服务器进行测试时遇到问题。以下是我的服务器的外观:

var app = require('express')();
var http = require('http').createServer(app);
var io = require('socket.io').listen(http);


io.on('connection', function(socket){
  console.log('a client has been conected');
  socket.on('update', function(){
    console.log('receved an update :)');
  })
});


http.listen(process.env.PORT || 3000, process.env.IP || "0.0.0.0", function(){
  var addr = http.address();
  console.log("Chat server listening at", addr.address + ":" + addr.port);
});

这是我的iOS客户端:

func initalSocketManager(){
    self.socket = SocketIOClient(socketURL: "https://applewatchnode-seven-ply.c9users.io")
    self.socket.connect()

    self.socket.on("connection") {data, ack in
        print("socket connected")
    }
}

由于任何原因,我无法连接到我的套接字服务器。当我运行我的iOS应用程序时,服务器会记录以下信息:

info  - unhandled socket.io url

任何帮助都将受到高度赞赏。

1 个答案:

答案 0 :(得分:0)

您的服务器代码是端口3000上的非ssl HTTP侦听器。您的iOS客户端代码正在尝试通过SSL(端口443)进行连接。他们永远不会找到对方。

将您的iOS代码更改为

http://applewatchnode-seven-ply.c9users.io:3000/