如何在不运行socket.io(node.js)中的服务器时检查从客户端连接

我使用node.js和socket.io从MySQL获取数据。 我已经连接到mysql的sussessfully。 文件server.js

var mysql = require('mysql') var io = require('socket.io').listen(3000) var monitorio = require('monitor.io') io.use(monitorio({ port: 8000 })); var db = mysql.createConnection({ host: 'localhost', user: 'root', password : '12345678', database: 'test' }) db.connect(function(err){ if (err) console.log(err) }) var socketCount = 0 io.sockets.on('connection', function(socket){ socketCount++ io.sockets.emit('users connected', socketCount) socket.on('disconnect', function() { socketCount-- io.sockets.emit('users connected', socketCount) }) socket.on('get customer', function(data){ console.log('request to server : ' + data); db.query('select CUSTOMER_NAME from customers where TELEPHONE = ?', data) .on('result', function(data){ console.log('server response to client : ' + data.CUSTOMER_NAME); socket.emit('get customer', data) }) }) }) 

在客户端,我input了:

 http://localhost:3000/socket.io/socket.io.js 

当我运行server.js

 node server.js 

一切都好。 我可以从MySQL获取数据。 但我想当计算机不运行nodejs或任何错误nodejs,我想客户端不从MySQL获取数据。 但是,当我停止server.js有客户端javascipt代码发生错误。 登录丢失连接socket.io ……和JavaScript客户端中的错误: 客户端错误套接字io

我怎么知道丢失连接在端口:3000在服务器忽略图片2中的JavaScript?

不知道你是如何导入的io代码,这是我的客户端套接字初始化使用require.js:

 var io = require('io'); var socket = io.connect('http://localhost:3000'); socket.on('connect', function() {console.log('Connected');}) .on('connect_error', function() {console.log('Conn error');}) .on('disconnect', function() {console.log('Disconnected'); }); 

然后您可以使用以下方式检查连接状态:

 if (socket.connected) doSomething(); 

此外,而不是使用自己的计数, var socketCount = 0 ,您可以在节点中使用以下内容:

 io.on('connection', function(socket) { console.log("Connected clients: " + io.engine.clientsCount); }