【问题标题】:unhandled socket.io url when connecting with ios socket.io client与 ios socket.io 客户端连接时未处理的 socket.io url
【发布时间】:2016-03-04 15:31:18
【问题描述】:

为了测试目的,我在连接托管在 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

我们将不胜感激。

【问题讨论】:

  • 我也有同样的问题。找到解决方案了吗?

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


【解决方案1】:

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

将您的 iOS 代码更改为

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

【讨论】:

  • Cloud9 默认在 8080 上提供应用程序,但也支持 8081 和 8082。您需要使用其中一个端口才能使其正常工作。
猜你喜欢
  • 2014-04-22
  • 2022-06-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-18
  • 2016-03-11
  • 2021-11-18
相关资源
最近更新 更多