첫째, 나는 영어로 말하기에 좋지 않습니다.내 Node.js 응용 프로그램의 반응 속도가 매우 느립니다.
나는 라스베리 파이에 Fingersquared을 기반으로 Node.js로 코드를 작성하려고합니다.
그래서 RPi'GPIO를 제어하고 싶습니다. 그러나 버튼을 클릭하면 console.log
이 매우 느리게 표시되거나 전혀 표시되지 않습니다. (처음에는 각 버튼을 클릭 할 때 매우 빠르게 반응합니다.)
CPU 속도를 확인하면 정상입니다 (2 % 미만). .
내 잘못은 무엇입니까? :(
는 브라우저가 첫 번째 단추 클릭에 대한 응답을 기다리는 중입니다.
var express = require('express')
, routes = require('./routes')
, http = require('http')
, path = require('path')
, gpio_led = require('./routes/led');
var app = express();
app.configure(function(){
app.set('port', process.env.PORT || 52237);
app.set('views', __dirname + '/views');
app.set('view engine', 'jade');
app.use(express.favicon());
app.use(express.logger('dev'));
app.use(express.bodyParser());
app.use(express.methodOverride());
app.use(app.router);
app.use(express.static(path.join(__dirname, 'public')));
});
app.configure('development', function(){
app.use(express.errorHandler());
});
app.get('/', routes.index);
app.get('/led/:num/:switch', function(req,res){
var num = req.params.num
, sw = req.params.switch;
console.log('LED ' + num + ' is ' + sw + '.');
//gpio_led(num,sw);
})
http.createServer(app).listen(app.get('port'), function(){
console.log("Express server listening on port " + app.get('port'));
});
index.jade
extends layout
block content
.row
.six.columns.centered
.panel
.row
h4.text-center LED_01
.six.columns.text-center
a.button.large.right.LED1_ON ON
.six.columns
a.button.large.left.LED1_OFF OFF
.row
hr
h4.text-center LED_02
.six.columns
a.button.large.right.LED2_ON ON
.six.columns
a.button.large.left.LED2_OFF OFF
.row
script(type='text/javascript')
$('.LED1_ON').on('click', function(){
$.get('/led/1/on');
});
$('.LED1_OFF').on('click', function(){
$.get('/led/1/off');
});
'$ .get ('/ led/1/on ') 앞에'console.log'를 쓰면, 얼마나 빠릅니다. 너는 그것을 본다? 느린 그때 너의 문제는이다 브라우저에서 JS의 실행 속도. 그렇지 않다면 HTTP GET이 느릴 수도 있습니다 (캐시 문제 일 수도 있습니다). 타이밍을 시도해보십시오 (브라우저의 디버그 콘솔이 도움이 될 것입니다). 그렇지 않다면 서버 자체가 느려질 수 있으므로 시간을 측정하고 느려지는 것을 확인하십시오. –