Socketio Err_Connection_Refused

Socketio Err_Connection_Refused

I am starting to use NodeJS and Socket.IO. I am trying to set up a basic example with a NodeJS http server and establish a Socket.IO connection to the server.

I am also using angular JS and basically what I want is that when a user presses a button then the connection to the server is established. However, when I try it I get this error

GET net::ERR_CONNECTION_REFUSED

Here is my code:

server.js

var http = require('http');
var server= http.createServer(handler);
var io = require('socket.io')(server);

server.listen(8080);

function handler(req, res) {
    res.writeHead(200);
    res.end('Hello Http');
}

io.on('connection', function (socket){
    socket.emit('news', { hello: 'world' });
    console.log('connected!');
});

app.js

var app = angular.module('testApp', ['ngRoute']);

app.controller('TestCtrl', function ($scope){

    $scope.msg= "";

    $scope.try = function (){

        $scope.msg= "ALO"

        var socket = io(');

        socket.on('news', function (data) {
            console.log(data);
        });

    };

});

And on my test.html file:

<body ng-controller="TestCtrl">

    <h2>{{msg}}</h2>
    <button ng-click="try()">Try</button>

    <script src="../js/angular.min.js"></script>
    <script src="../js/angular-route.min.js"></script>
    <script src="../js/app.js"></script>

    <script src="../node_modules/"></script>

<!-- <script src="/"></script> -->

</body>

I think that the error might be something related to the path I use when including the socket.io.js I have tried also using directly localhost:8080 in the path because I read it could be a solution but that didn't work. So please, I appreciate any help given. Thanks!

1

5 Answers

I faced exactly the same issue. I did not see the ERR_CONNECTION_REFUSED in socket.io@~0.9. The error surfaced after I upgraded socket.io to 1.3.

I solved it by simply removing the URL from the client side constructor:

Change

var socket = io(');

To

var socket = io();  

As the socket.io tutorial showed:

3

If your server is listening on port 8080, you need to connect to that port.

var socket = io(');

And as you're using a relative path, the socket.io lib will be served fine.

<script src="/"></script>
1

It turns out that the socket.io was being installed in a funny folder and therefore it was not being recognised or loaded. I solved this by creating a package.json and declaring the dependencies there so that when I do npm install it installs the folder in the right place.

Also Ben Fortune was right and I also modified that...I hope this helps other people because I struggled A LOT to figure that out :)

0

I was accessing IP of my cloud server to chat. suddenly The server was down.Then I got this polling error. Finally I figured out The problem is with that server.make sure your server is up.

I changed IP address to zero. please assume your server address

socket = io.connect('0.0.0.0:8110');
const { Server } = require("socket.io");
const app = express();
let port = process.env.PORT || 8080;
const server = http.createServer(app);
server.listen(port, () => console.log("App listening at localhost:" + port));

It work for me :)

See doc

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

David Miller
Author

David Miller

David Miller brings 15 years of experience in global economics, personal finance strategy, and market dynamics. He specializes in turning complex economic trends into actionable insights for everyday readers.