以下是我用于从客户端接收数据的代码示例。该程序以这种方式工作:我通过套接字建立一个wifi微控制器和服务器与Nodejs之间的连接,当这完成后,客户端将其数据发送到服务器,但它发生服务器只接收四个消息,然后它停止;然后我再等几分钟,同时收到我发送的信息。 这是使用express的服务器代码,我检查消息是什么,然后我使用套接字将它发送到微控制器。
`var express = require("express");
var bodyParser = require("body-parser");
var app = express();
var WebSocketServer = require('ws').Server
, wss = new WebSocketServer({port: 8000});
app.use(bodyParser.urlencoded({ extended: false }));
app.use(bodyParser.json());
app.use(express.static('Arrows'));
wss.on('connection', function(ws) {
ws.on('message', function(message) {
console.log('received: %s', message);
});
app.post('/left',function(req,res){
var direction = req.body.direction;
if (direction === 'left') {
console.log("direction chosen is: "+direction);
ws.send('left');
}
if(direction === 'stop') {
console.log(direction);
ws.send('stop');
}
});
app.post('/back',function(req,res){
var direction = req.body.direction;
if (direction === 'back') {
console.log("direction chosen is: "+direction);
ws.send('back');
}
if(direction === 'stop') {
console.log(direction);
ws.send('stop');
}
});
});
app.listen(3000);
console.log("Started on PORT 3000");`
这是客户代码的一部分。
$(document).ready(function(){
console.log('READY');
$("#left").on('mousedown', function(){
console.log('EVENT');
$.post("/left",{direction:'left'},function(data){
});
});
$("#back").on('mousedown', function(){
console.log('EVENT');
$.post("/back",{direction:'back'},function(data){
});
});
我如何能够毫不拖延地收到客户端发送的所有消息?