Siamak Motlagh
Siamak Motlagh

Reputation: 5136

Node.js: Socket.io doesn't work

I've wrote a simple node.js app by socket.io some weeks ago. My program is fine on my PC but when i tried to run it on my laptop. I faced a really weird error on my console.
note that I'm running node on 127.0.0.1:2324. I don't know what is that ip (0.0.9.20) on the chrome console.

Again, my code is correct cause it's working fine on my PC.

enter image description here
And I get this on my cmd:

enter image description here
my paint.html code is something like this:

<script src="http://127.0.0.1/node/paint/js/jquery.js"></script>
<script src="http://127.0.0.1/node/paint/js/cursor.js"></script>
<script src="http://127.0.0.1/node/paint/js/controllers.js"></script>
<script src="http://127.0.0.1/node/paint/js/core.js"></script>
<script src="http://127.0.0.1:2324/socket.io/socket.io.js"></script>
<link  href="http://127.0.0.1/node/paint/css/style.css" rel="stylesheet" />

core.js:

// broadcat function
    function broadcast(data)
    {
        var socketio = io.connect(serverPort);
        socketio.emit("message_to_server", { pen : data});
    }

    // receive data from server
    var socketio = io.connect(serverPort);
    socketio.on("message_to_client", function(data) 
    {
        var res_brush = data['pen'];
        var brush_data_rec = res_brush['pen'].split('|');
        draw(brush_data_rec[0],
             brush_data_rec[1],
             brush_data_rec[2],
             brush_data_rec[3],
             brush_data_rec[4],
             brush_data_rec[5],
             brush_data_rec[6]);
    });

update:
enter image description here

Upvotes: 0

Views: 1458

Answers (1)

hexacyanide
hexacyanide

Reputation: 91599

You should explicitly specify the target hostname on the client to connect to to avoid confusing the client on which address to connect to. There's also a cleaner way to specify a target port.

var socket = io.connect('http://localhost/', {
  'port': 8080,
  'transports': ['websockets']
});

Upvotes: 3

Related Questions