国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

基于node.js的快速開發(fā)透明代理

2019-11-21 00:01:39
字體:
供稿:網(wǎng)友
但是最近服務(wù)器端js的火爆確實因為node.js項目。在velocity china 2010大會Douglas Crockford(Yahoo!)也有一個topic《卷土重來:服務(wù)器端JavaScript》提到node.js。關(guān)于node.js的詳細(xì)資料請google.

      node.js的非常大的一個特點就是事件驅(qū)動,在開發(fā)服務(wù)器端服務(wù)的時候顯得非常方便。昨晚在新浪的@timYang也提到了node.js,估計新浪微博也注意到了它的優(yōu)點。同時,淘寶最近也表示對node.js有相當(dāng)?shù)呐d趣。參見:http://www.tbdata.org/archives/1285  http://www.tbdata.org/archives/1292 ,為了體驗一把,就用node.js寫了一個透明的代理服務(wù)層,代碼如下:

復(fù)制代碼 代碼如下:

var net = require('net');
var proxyhost="127.0.0.1";//被代理的服務(wù)的IP
var proxyport=3306;//被代理的端口
var listenport=8124;//代理端口
net.createServer(function (socket) {
socket.on("connect",function(){
console.log('connected');
try{
var db=net.createConnection(proxyport,proxyhost);
db.on("connect",function(){
console.log("server connected");
socket.on("data", function (data) {
db.write(data);
});
db.on("data",function(data){
console.log(data.toString('utf8',0,data.legnth));
//console.log(data);
socket.write(data);
});
socket.on("close",function(){
console.log("server closed");
db.destroy();
});
});
db.on("error",function(data){
console.log("error:/r/n"+data);
});
db.on("end",function(){
console.log("server closed");
socket.destroy();
});
}catch(err){
console.log(err);
}
});
}).listen(listenport, "0.0.0.0");
//用于測試,生產(chǎn)環(huán)境需考慮穩(wěn)定性代碼處理

OK,大功告成,只用了一點點的時間,是的,就是這么簡單。我們把proxyhost,proxyport=3306改成本機(jī)的一個數(shù)據(jù)上,啟動后,我用mysql客戶端連8124,就可以連上3306端口的數(shù)據(jù)庫了。

不僅僅是數(shù)據(jù)庫,把proxyhost,proxyport指向到memcached,那么就變成memcached代理了。

通過console.log你可以非常方便的調(diào)試協(xié)議。也可以用來監(jiān)視某些不開放的協(xié)議。

使用node.js開發(fā)網(wǎng)絡(luò)服務(wù)應(yīng)用程序,比如代理層,httpserver處理非常方便。

剛剛有朋友提出了一個 bug ,謝謝這位朋友。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 逊克县| 平谷区| 莎车县| 沂南县| 房山区| 招远市| 塔城市| 锦屏县| 东乡族自治县| 贵德县| 五常市| 镇赉县| 汉川市| 四会市| 醴陵市| 农安县| 海林市| 长岭县| 环江| 金溪县| 门头沟区| 肇庆市| 九江县| 个旧市| 克山县| 澳门| 晴隆县| 宜川县| 邵阳市| 岑巩县| 南江县| 墨竹工卡县| 扎囊县| 青龙| 夹江县| 宜章县| 游戏| 漳平市| 邵东县| 上高县| 上高县|