我正在研究使用node.js的连接能力来连续长轮询php脚本,我想知道是否有人知道链接到node.js中的php背后的理论(甚至可能是代码示例)?我想我需要一个新的客户端,我添加了一个对 php 页面的请求,然后添加了一个响应事件监听器,然后触发一个事件函数,该函数获取返回的数据并将其扔回到服务器函数中。
然而,我是一个菜鸟,需要一些初步指导,因为他们的 api 文档不是最容易阅读的;英文太啰嗦,而且是深色背景上的白色字体……不太好。
谢谢
最佳答案
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 - 从 Node.js 获取 PHP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3171053/