如果未在客户端的io.connect()函数中指定端口,客户端会侦听哪个端口?
例如:
var socket = io.connect('http://example.com/'); // listening to port 80?
我问的原因是因为我在heroku上部署了这个应用程序的服务器端。前端是IOS应用程序。我用于前端的目标C socketIO库(https://github.com/pkyeck/socket.IO-objc)要求我指定一个端口。但是我不确定我应该听哪个端口,因为这在服务器端不是静态的。
我用javascript编写客户端程序进行测试,当我没有指定端口时它可以工作。
非常感谢任何帮助。
答案 0 :(得分:11)
它侦听服务器侦听的端口。想象一下,您将服务器设置为侦听端口8080
。然后在http://localhost:8080
加载页面,服务器返回包含套接字相关JS代码的页面。
var socket = io.connect();
中指定任何端口或主机,则默认为当前页面的主机和端口。80
。如果协议是HTTPS,则端口默认为443
。以下是url.js解析器的相关代码。