ホームページ  >  記事  >  ウェブフロントエンド  >  node.js_javascript スキルに基づいて透過的なプロキシを迅速に開発する

node.js_javascript スキルに基づいて透過的なプロキシを迅速に開発する

WBOY
WBOYオリジナル
2016-05-16 18:13:30957ブラウズ

しかし、サーバーサイド JS の最近の人気は、確かに node.js プロジェクトによるものです。 Velocity china 2010 カンファレンスでは、Douglas Crockford (Yahoo!) も「カムバック: サーバーサイド JavaScript」というトピックで、node.js について言及しました。 Node.js の詳細については、Google で調べてください。

Node.js の非常に大きな機能はイベント駆動型であり、サーバーサイドのサービスを開発する場合に非常に便利です。昨夜の新浪の@timYangもnode.jsについて言及しており、新浪微博もその利点に気づいたのだと思います。同時に、淘宝網は最近、node.js に大きな関心を示しています。参照: http://www.tbdata.org/archives/1285 http://www.tbdata.org/archives/1292 これを体験するには、node js を使用してください。透過プロキシ サービス層のコードは次のとおりです:

コードをコピーします コードは次のとおりです:

var net = require('net');
var proxyhost="127.0.0.1";//プロキシ サービスの 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 ( "データ", 関数 (データ) {
db.write(データ);
});
db.on("データ",function(データ){
console.log(データ . toString('utf8',0,data.legnth));
//console.log(data)
socket.on( " close",function(){
console.log("サーバーが閉じられました");
db.destroy();
});
});
db.on(" エラー",function(data){
console.log("error:rn" data);
});
db.on("end",function(){
console.log ( "サーバーが閉じられました");
socket.destroy();
}catch(err){
console.log(err);
}).listen(listenport, "0.0.0.0");
//テストの場合、運用環境では安定性コード処理を考慮する必要があります


OK、完了です。少しすると、はい、とても簡単です。 proxyhost と proxyport=3306 をローカル マシン上のデータに変更しました。起動後、mysql クライアントを使用して 8124 に接続すると、ポート 3306 でデータベースに接続できます。

単なるデータベースではなく、proxyhost と proxyport を memcached にポイントすると、memcached プロキシになります。
console.log を使用すると、プロトコルを非常に簡単にデバッグできます。また、オープンではない特定のプロトコルを監視するために使用することもできます。

node.js を使用してプロキシ層などのネットワーク サービス アプリケーションを開発すると、httpserver 処理が非常に便利になります。

友人がバグを起こしました。ありがとう。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。