當用戶進行GET /檢查/健康時,該客戶端應該與服務器通話並且服務器應該給客戶端提供答案.. 但是,服務器發送的消息未在客戶端..節點 - 充當網絡服務器和客戶端
客戶端 - 也作爲一個Web服務器
var io = require('socket.io-client');
var socket = io.connect('http://localhost:4000', {reconnect: true});
var express = require('express');
var app= express();
var path = require('path');
var bodyParser= require('body-parser');
app.use(express.static(__dirname+"/public/"));
app.use(bodyParser.json());
app.set('views',path.join(__dirname,'/public/html'));
app.engine('html', require('ejs').renderFile); //specify which template engine to use
app.set('view engine', 'ejs');
app.get('/check/health',function(req,res){
//console.log('Connected Success!!');
socket.on('connect', function(socket) {
console.log('Connected!');
});
socket.emit('data', 'I need your health status');
socket.on('data', function(data) {
console.log('Message from monitoring is : ' + ': ' + data);
});
socket.on('server data', function(data) {
console.log('Received server data: ' + data);
});
});
app.listen(3000);
console.log("Server running at http://localhost:3000/'");
服務器端:
var app = require('express')();
var SERVER = require('http').Server(app);
var io = require('socket.io')(SERVER);
var express = require('express');
var mongoose = require('mongoose');
mongoose.connect('mongodb://localhost/sensor_db');
io.on('connection', function(socket){
console.log('connection received from Provisioning ');
// To get messages from Provisioning server
socket.on('data', function(data) {
console.log('Message from provision is : ' + ': ' + data);
});
socket.emit('server data', 'Here is yiour data - 1111');
});
SERVER.listen(4000, function(){
console.log('listening on *:4000');
});
問題需要獨立的;不引用其他答案/問題。 –
這在技術上是獨立的,除了引用另一個問題的句子之外。這裏有足夠的代碼來解決問題的答案。 – dvlsg
我不知道爲什麼服務器的消息不在客戶端上看到 –