var sys = require('sys'),
http = require('http'),
url = require("url"),
path = require("path"),
events = require("events");
var twitter_client = http.createClient(80, "192.168.23.128");
var tweet_emitter = new events.EventEmitter();
function get_tweets() {
var request = twitter_client.request("GET", "/?url=ajax/session", {"host": "192.168.23.128"});
request.addListener("response", function(response) {
var body = "";
response.addListener("data", function(data) {
body += data;
});
response.addListener("end", function() {
sys.puts(body);
var tweets = JSON.parse(body);
if(tweets.length > 0) {
tweet_emitter.emit("tweets", tweets);
}
});
});
request.end();
}
setInterval(get_tweets, 5000);
http.createServer(function (req, res) {
sys.puts("accessed Server");
res.writeHead(200, {'Content-Type': 'text/plain', "Access-Control-Allow-Origin": "*"});
var t = JSON.stringify({id:"test"});
var listener = tweet_emitter.addListener("tweets", function(tweets) {
res.write(tweets);
});
res.write(t);
res.end();
}).listen(8124);
sys.puts('Server running at http://127.0.0.1:8124/');
이 작동하는 것 같았다. 다른 튜토리얼을 혼합하여 만든 것
PHP 스크립트에서 데이터를 얻기 위해 노드를 사용하는 것은 서버 자원을 사용하지 않도록하는 노드의 목적과 모순됩니다 PHP와 Python/Ruby와 같은 다른 웹 서버 언어는 일반적으로 그렇게합니다. – selfawaresoup
그럴 수도 있지만 아파치와 같은 서비스 메커니즘을 사용하는 것보다 PHP를 더 빠르고 효율적으로 제공 할 수는 없습니까? 분명히 가장 이상적인 상황은 node.js가 직접 요청에 응답하는 것이지만, 아파치 자신의 단점을 극복하는 데 사용할 수없는 이유는 없습니다 ... –