最短の Python コードでサーバーとプロキシ サーバーを実装してみる

WBOY
リリース: 2016-07-06 13:29:50
オリジナル
1185 人が閲覧しました

最も単純なサーバー
Python には、標準ライブラリの wsgiref を使用するだけで、別のサーバー リスニング ポートを設定する機能があります。

リーリー

2016623145600293.jpg (247×67)

プロキシ サーバーを実装するための 50 行のコード
以前こんな場面に遭遇しました
自分のコンピュータで mongodb グラフィカル クライアントを使用する必要がありますが、mongodb サーバーのアドレスが外部に公開されていないため、最初にホスト A にログインし、次に A から mongodb サーバー B に接続することしかできません。
当初は ssh ポート経由で転送したかったのですが、マシン A からマシン B に ssh 接続する権限がありません。そこで私は Python で自分で書きました。
原理は簡単です。
1. ソケットサーバーを開いて接続リクエストをリッスンします
2. クライアントからの接続要求を受け付けるたびに、転送先アドレスへの接続要求を作成します。つまり、クライアント -> プロキシ -> 転送です。プロキシは、ソケット サーバー (リスニング クライアント) とソケット クライアント (転送要求) の両方です。
3. 2 つのソケット client->proxy と proxy->forward を辞書でバインドします。
4. 送信/受信したデータをそのままこのマップされた辞書に渡します
以下のコード。

リーリー

エフェクトのスクリーンショットは以下のとおりです。

2016623145635171.jpg (574×128)

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!