Привет всем Я создаю простой webapp, используя NodeJS + express4 + socket.io на последней доступной версии, в основном проблема, которую я не могу решить, заключается в том, что пока я не просматриваю свой веб-браузер из браузера на сервере он работает отлично, но когда я пытаюсь подключиться к нему из той же сети, но на другом ПК index.html обслуживается хорошо, но клиент не может подключить разъем tonthe, здесь фрагмент кода:Почему я не могу подключиться от другого клиента к серверу?
SERVER :
var express = require('express');
var app = express();
var server = require('http').createServer(app);
var io = require('socket.io')(server);
var exec = require('child_process').exec, child;
var uptime;
var temp;
var sysOS;
var ramU;
var ramT;
var cpuUsage;
app.use(express.static(__dirname + '/bower_components'));
app.get('/', function(req, res, next) {
res.sendFile(__dirname + '/index.html');
console.log('Ok, Up and running on 8080');
});
io.on('connection', function(socket) {
var infos;
var interval =setInterval(function(){
//Get Uptime
child = exec("uptime -p | grep 'up ' | cut -d ' ' -f2-", function(error, stdout, stderr){
uptime = stdout;
});
//Get Temperature
child = exec("/opt/vc/bin/vcgencmd measure_temp | grep 'temp=' | cut -d '=' -f3,2-", function(error, stdout, stderr){
temp = stdout;
});
//Get OS
child = exec("cat /etc/os-release | grep 'PRETTY_NAME' | cut -d '=' -f2", function(error, stdout, stderr){
sysOS = stdout;
});
//Get RAM USED
child = exec("free -m | grep 'cache: ' | cut -d ' ' -f10", function(error, stdout, stderr){
ramU = stdout;
});
//Get RAM TOTAL AVAILABLE
child = exec("free -m | grep 'Mem: ' | cut -d ' ' -f12", function(error, stdout, stderr){
ramT = stdout;
});
child = exec("top -bn 1 | awk 'NR>7{s+=$9} END {print s/4}' | tr -d ' '", function(error, stdout, stderr){
cpuUsage = stdout;
});
infos = [{Uptime: uptime}, {Temperature: temp}, {OS: sysOS}, {ramUsed: ramU}, {ratTot: ramT}, {CPU: cpuUsage}];
socket.emit("infos", infos);
}, 2000);
});
console.log('Ok, Up and running on 8080');
server.listen(8080);
КЛИЕНТ:
$(document).ready(function(){
var progressBar;
var ramPerc;
var cpu;
var socket = io.connect("http://localhost:8080");
socket.on("infos", function(infos) {
cpu = infos[5].CPU.trim();
cpuPB = '<div class="progress"> <div class="progress-bar progress-bar-success" role="progressbar" aria-valuemin="0" aria-valuemax="100" style="width:'+cpu+'%"> '+cpu+'% CPU USATA </div> </div>';
$("#uptempo").html(infos[0].Uptime);
$("#divTemp").html(infos[1].Temperature);
$("#divOS").html(infos[2].OS);
ramPerc = (((infos[3].ramUsed*100))/(infos[4].ratTot)).toFixed(2);
progressBar = "<div class='progress'> <div class='progress-bar progress-bar-success' role='progressbar' aria-valuemin='0' aria-valuemax='100' style='width:"+ ramPerc + "%'>"+ ramPerc + " % RAM usata </div> </div>";
$("#divRam").html(progressBar);
$("#divCpu").html(cpuPB);
});
});
В сценарии клиента, конечно, мне нужно подключиться к http://localhost:8080/, так почему от другого клиента в той же сети нельзя подключиться к нему? Я делаю что-то не так? Нужно ли мне реализовать прокси-сервер, если да, как?