socket.io不能连接到手机浏览器

我想在我的Macbook上创build我的移动Safari和nodejs + socket.io之间的连接。

当我从我的笔记本电脑调用localhost:8080时,一切正常。 控制台说,客户端连接,我的小网站显示。

当我通过手机浏览器10.0.1.5:8080调用它时,网站也会显示,但是我的socket.io没有将手机浏览器(iPhone)识别为客户端,控制台板上也没有任何反应。

有问题的人在哪里?

我发现这篇文章,可能可以帮助你。 为什么我的nodejs socket.io应用程序不能在ios6上工作

本地主机是本地的机器。 你的IP应该使用一个IP地址或域名:

像这样:io.connect('192.168.1.110'); 或者io.connect('test.myapp.com');

WebSocket不能通过蜂窝networking工作,因为它们不被http代理转发。

可能的解决方法是将WebSocket服务器端口设置为443(https),该端口转发所有内容(因为https是encryption的,代理服务器必须转发它以支持https)。

要看到一个现实世界的例子,这样解决这个问题附近结账。

请记住,这需要使用两个http服务器:

  1. 为您提供移动应用程序(在端口80上)
  2. 在(端口443)上提供Web套接字

否则,你总是不得不使用你的url中的特定端口,这在生产中通常是不优选的。

Interesting Posts