ソケット、TCP / IPプロトコル、UDPプロトコル

転載:https://www.cnblogs.com/xiaowenshu/p/9916755.html

 

一般に「ソケット」と呼ばれるソケットをIPアドレスとポートを記述するために使用され、通信リンクがハンドルである、アプリケーションは、通常、「ソケット」ネットワーク要求または応答を介してネットワークへの要求を発行します。

ソケットは、Unixの起源、およびUnix / Linuxの基本理念の一つは、モード動作を読み書きする[] [] [閉じる]ファイルを開くには、「すべてはファイルである」です。ソケットは、モデルの実現である、ソケットは特別なファイルで、そのうちのいくつかのオペレーティング・ソケット機能が実行される(オープン、読み込み/ IOを書き、閉じた状態)。

ソケットとファイルの違い:

ファイルには、2つのプロセス間でデータを転送する、同じコンピュータ上のすべてのです。

ソケットは、別のコンピュータ、すなわち、ネットワーク・トラフィックとの間のデータの伝送に実装されてもよいです。たとえば、QQ、Webページを開く、これらの通信を達成するためのソケットです。

それは、TCP / IP、UDPプロトコルとプロトコル、直接に良いパッケージUPDおよびTCP / IPプロトコルを持つソケットが来ることを、ネットワーク通信も。

単にプロトコルがやっているTCP / IPの下で、ネットワークはちょうど、混乱を出てきた、と我々はすべてのルールを遵守するためのデータを転送する必要があることを、我々はすべて、これは、その後、TCP / IPプロトコルが登場従ってください。たぶん、あなたは4回オフ、3ウェイハンドシェイクのことを聞いた、それは、TCP / IP接続のプロセスです。コンピュータ通信およびBにコンピュータを追加し、プロセスはそのようになっています

A:それには、私もあなたが行うことができない
B:あなたもそれ、中
:まあ、私はあなたにデータを送信するつもりです

#これは、2台のコンピュータが再び通行することができ、良好なチャネルを確立して3ウェイハンドシェイク、です。

だから、4回オフするものです

A:私はあなたを離れたい
B:さて、あなたはそれを抜い
B:チャンネル閉じ
チャンネルを閉じます:

データ転送が互いに終了するので、我々は、2つのパスを掘っ理由オフ回、一方の経路が他方にB、Bにデータを送信するために使用されるデータ転送には、各々がそれぞれのチャネルを閉じる、二回オフされています。2本の道路は、サブと呼ばれる全二重、すなわち、両側に片側のみがデータを送信できる場合、それは単純呼ばれ、相互にデータを送信することができるあります。

以下の図は、あなたがデータ接続および送信プロセスを確立するプロセス、及び切断処理を見ることができます。

 

そして、UDPプロトコルは、比較的単純な、あまり複雑で切断し、接続され、3ウェイハンドシェイクを必要としない、クライアントは、サーバーが受信できるかどうかを判断する必要はありません、TCP / IPは、データを送信するために良好な接続後に確立されなければなりません、そしてそれが直接送信されたIPとポート番号を知っているUDP接続は、それはTCP / IPよりも速いが、安全ではない、ではありません。

UPD道路にできるだけ書くのが好き、他の当事者受け取っていないがありません。TCP / IP呼びたい、あなたが話すようになっている必要があります。

以下は、UDPサーバー側のコードです:

以下は、クライアント側のコードです

サーバー側のコードの実行クライアントがバックデータにサーバ側、サーバー側にデータを送り、実行し、その結果、以下の簡単なチャットアプレットを実行します

 

ここでは、コードのTCP / IPプロトコル、サーバー側のコードは次のとおりです。

 

#以下は、クライアント側のコード接続サービスであります

 

あなたは、これは実際には、それを暗く学びたいと思うかもしれませんが、実装の基礎となるこれらのWebフレームワークは、例えば、ジャンゴ、ソケットになりフラスコのために、我々はまた、独自のWebフレームワークを開発することができ、そうです。もちろん、提供することができ、マルチスレッドやマルチプロセスの複数のクライアントを持つクライアントに、今だけのサービス、。

サーバーは、結果を実行します

マルチスレッド以下、毎回クライアントを使用すると、複数のクライアントにサービスを提供できるように、次のようにしても、彼のサービスのためのスレッドを開始する要求にモジュールをねじ込むことによって、スレッドを開始し、サービスのスレッドを開始してきました:

 

おすすめ

転載: www.cnblogs.com/renjiaqi/p/11371318.html