Search code examples
socket.ioibm-cloudnode-red

Connecting to a Socket.IO server running in Node-Red on IBM Bluemix


I've set up a Node-Red instance on IBM Cloud with a Socket.IO server using node-red-contrib-socketio.

I was able to subscribe to events on port 3000 on my local host fine but I'm having difficulty doing the same with the Node-Red instance on IBM Cloud.

  1. According to my client console I seem to be able to connect but get no response using the following URL: ws://MYAPP.eu-gb.mybluemix.net/red:3000/socket.io/?EIO=3&transport=websocket Is this correct or should I be using something else like ws://MYAPP.eu-gb.mybluemix.net:3000/socket.io/?EIO=3&transport=websocket ?

  2. Is any further configuration required in IBM Cloud to enable the connection?

  3. If I need to authenticate within the URL I pass to the server is there a particular way that string should be structured?

Many thanks,


Solution

  • This will not work on Bluemix.

    The Bluemix router only forwards external traffic on ports 80 and 443 (http/https) to apps.

    But the app may not be actually listening on those ports (The port to listen on is passed in to the application on start up in a environment variable).

    You can not just pick an arbitrary ports and listen on.