GET http://localhost/socket.io/?EIO=3&transport=polling&t=LjIvLGU 404 (Not Found)

14,895

Solution 1

It seems that you are trying to connect your socket somewhere else over localhost without port 3000. If i test your code snippets everything is OK. Your error message shows me that port 3000 is missing " GET http://localhost/socket.io/?EIO=3&transport=polling&t=LjIvLGU 404 (Not Found)".

You can try to connect manually if you change your io.connect to var socket = io.connect('http://localhost:3000');

Solution 2

" GET http://localhost/socket.io/?EIO=3&transport=polling&t=LjIvLGU 404 (Not Found)" means you have socket.io is not listening to your intended server. My mistake was that I instantiated the wrong server object.

In app.js file

var server = app.listen(config.dev.port, () => {
  console.log("Listening ..");
});

var io = require('socket.io').listen(server);

Solution 3

After a lot of searching, this works:

<script src="/socket.io/socket.io.js"></script>
<script>
  var socket = io('http://localhost:3000/');
</script>
Share:
14,895
Admin
Author by

Admin

Updated on June 28, 2022

Comments

  • Admin
    Admin almost 2 years

    I have a problem with Nodejs and my js code.

    When I run the Nodejs in console server does not show any problems, but all time I get an error in the console from Chrome:

    GET http://localhost/socket.io/?EIO=3&transport=polling&t=LjIvLGU 404 (Not Found)
    

    index.html

    <head>
        <title>test</title>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
        <script src="http://localhost:3000/socket.io/socket.io.js"></script>
    </head>
    

    script.js

    var express = require('express');
    var app = express();
    var server = require('http').Server(app);
    var io = require('socket.io').listen(server);
    
    users = [];
    connections = [];
    
    server.listen(process.env.PORT || 3000);
    
    console.log("server up");
    
    app.get('/', function (req, res) {
        res.sendFile(__dirname + '/index.php');
    });
    
    io.sockets.on('connection', function (socket) {
    
        socket.on('subscribe', function (data) {
            socket.join(data.room);
        });
        socket.on('arriv', function (data) {
            console.log(data);
            io.sockets.in('invitor').emit('send message',data);
        });
    
        socket.on('unsubscribe', function (data) {
            socket.leave(data.room);
        });
    });
    

    user.js

    $(function () {
        var cid = $.session.get('company');
        console.log(cid);
    
        var socket = io.connect();
    
        socket.emit("subscribe", {room: "invitor"});
    
        socket.on("send message", function (data){
            $('#info').append("" + data.gid + "</br>");
        });
        $(document).on('click', '.123', function () {
            var gid = $(this).attr('id');
            socket.emit('arriv', {gid: gid});
        });
    });