Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

678
Views
Socket get net::ERR_CONNECTION_TIMED_OUT when deploy nodejs webapp on iisnode

I am new to nodeJs.Forgive me for asking some silly question.

I am trying to deploy a real-time chatroom webapp on Azure server with iisnode. The webapp works well on localhost, but when I upload it to run on the server, the socket cannot connect from client to server. I am using nodejs+ express + jade.

server.js
var express = require("express"), http = require('http');
var app = express();
var server = http.createServer(app);
var port  = process.env.PORT || 3700;
app.set('views', __dirname + '/tpl');
app.set('view engine', "jade");

app.engine('jade', require('jade').__express);

var deployPath = process.env.deployPath || "";

app.get(deployPath+ "/", function(req, res){
    res.render("page",{deployPath: deployPath});
});

app.use(deployPath, express.static(__dirname + '/public'));


var io = require('socket.io')(server);
server.listen(port, 'http://visafe-paltform.cloudapp.net');
io.sockets.on('connection', function (socket) {
    console("connected");
    socket.emit('message', { message: 'welcome to the chat' });
    socket.on('send', function (data) {
        io.sockets.emit('message', data);
    });
});

console.log("Listening on port " + port);


Client.js


window.onload = function() {

    var messages = [];
    var address = window.location.protocol + '//' + window.location.host; 
    console.log(address);
    var details = {  
        resource: (window.location.pathname.split('/').slice(0, -1).join('/') + '/socket.io').substring(1)  
    };  
    console.log(details);

    //var socket = io.connect(address, details);
    var socket = io.connect('http://visafe-paltform.cloudapp.net:3700');
    //var socket = io.connect();
    var field = document.getElementById("field");
    var sendButton = document.getElementById("send");
    var content = document.getElementById("content");

    socket.on('message', function (data) {
        if(data.message) {
            messages.push(data.message);
            var html = '';
            for(var i=0; i<messages.length; i++) {
                html += messages[i] + '<br />';
            }
            content.innerHTML = html;
        } else {
            console.log("There is a problem:", data);
        }
    });

    sendButton.onclick = function() {
        var text = field.value;
        console.log("click:", field.value);
        socket.emit('send', { message: text });
    };

}

when i try to request the url, it gives me error:

socket.io.js:4948 GET http://visafe-paltform.cloudapp.net:3700/socket.io/?EIO=3&transport=polling&t=LjM71Yc net::ERR_CONNECTION_TIMED_OUT

Can anyone help me? Thanks in advance.

about 4 years ago · Santiago Trujillo
1 answers
Answer question

0

For a classic VM, you should open port 3700 on Azure Endpoint and Windows Firewall.

More information about how to open port on endpoint please refer to this link.

If you want to access your service with Public IP, please ensure your service is listening on 0.0.0.0 and you could telnet 127.0.0.1 3700 successful on your VM.

about 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!