When you do not specify a port in the io.connect() function on the client side, what port does the client listen to?
eg:
var socket = io.connect('http://example.com/);// listening to port 80?
The reason I ask is because I deployed the server side of this application on heroku. The front end is an IOS application. The objective C socketIO library I'm using for the front end (https://github.com/pkyeck/socket.IO-objc) requires me to specify a port. But I'm not sure what port I should listen to since this is not static on the server side.
I wrote client program in javascript for testing and it works when I do not specify a port.
Any help would be much appreciated.
It listens on the port the server listens to. Imagine you set your server to listen port 8080
. Then you load you page at http://localhost:8080
and the server returns the page which contains the socket related JS code.
var socket = io.connect();
, it defaults to the host and port of the current page.80
if the protocol is HTTP. If the protocol is HTTPS, then the port defaults to 443
.Here is the related code for url.js parser.