ホームページ  >  記事  >  バックエンド開発  >  Pythonの基礎知識1:ネットワーク通信・データ送信

Pythonの基礎知識1:ネットワーク通信・データ送信

coldplay.xixi
coldplay.xixi転載
2021-02-19 10:03:162721ブラウズ

Pythonの基礎知識1:ネットワーク通信・データ送信

#無料学習の推奨事項: #Python チュートリアル #(ビデオ)

Python によるネットワーク通信データ転送の実装 (基礎知識(1))

    はじめに
  • 基礎知識の学習
    • 1. 同期と非同期
    • # 2. ソケットとは
    • # 3、ソケットの分類
      • #1. ストリーム形式ソケット SOCK_STREAM
      • 2. データグラム形式ソケット (SOCK_DGRAM)
      #4. IP アドレス、MAC アドレス、ポートアドレス
    結論
  • 序文

#私は通信と情報を専攻していませんが、最近この分野の知識に触れてきて、次のように感じています。非常に興味深いものでした。より多くの人が学ぶことができるように、学習し、学習結果をここに記録しました。上司からアドバイスをいただければ幸いです。 ! !

基礎知識の学習

1. 同期と非同期

    Synchronization
  • は、処理プロセス全体が順次実行されることを意味し、各処理が完了すると結果が返されます。これは直線的な実行方法であり、実行プロセスをまたぐことはできません。これは通常、システムにログインする前にユーザー認証を必要とするユーザー ログインなど、強力なプロセスを伴う手順に使用されます。 (送信者は 1 つを送信し、受信者は 1 つを受信します。これは同期です。)
  • 非同期
  • は、呼び出し命令を送信するだけであることを意味します。呼び出されたメソッドの実行が完了するまで待つ必要はなく、次のプロセスの実行を継続します。並列処理方式です。プログラムの実行終了を待つ必要がありません。ページデータの読み込み処理など、他のタスクを実行できます。ページを表示する前にすべてのデータが取得されるのを待つ必要はありません。 。 (送信者はデータを送信し、受信者は独自のルールに従って受信できるバッファ領域を持っています。もちろん、送信者が独自のルールに従ってデータを送信することもできます。両者は非同期です)
    2. ソケットとは

## ソケット
    の本来の意味は「ソケット」です。コンピュータ通信の分野では、ソケット 「ソケット」と訳され、コンピュータが相互に通信するための規約または方法です。ソケット規約により、コンピュータ間のネットワーク接続が確立されます。
  • 理解を容易にするために、これをソケットに例えると、プラグをソケットに差し込むことで電力網から電力供給が得られます。データをリモート コンピュータに送信するには、インターネットに接続する必要があります。ソケットはインターネットに接続するために使用されるツールです。
  • UNIX/Linux とは異なり、Windows ではソケットとファイルが区別されており、ソケットをネットワーク接続として扱うため、ソケット専用のプログラムを呼び出す必要があります。通常ファイルの転送関数、入出力関数は無効です。
  • 3. ソケットソケットの分類

主によく使用される 2 つは、ストリーム形式のソケット (SOCK_STREAM) とデータ レポート形式です。ソケット (SOCK_DGRAM)。

1. ストリーム形式ソケット SOCK_STREAM

  • には次の特徴があります:
    データは送信プロセス中に消えません。 ## データは順番に送信されます;
    データの送受信は非同期です。
  • TCP プロトコル (伝送制御プロトコル) を使用し、データがエラーなく順番に到着するように制御します。 高品質を重視。

2. データグラム形式ソケット (SOCK_DGRAM)

  • コンピューターはデータを送信するだけで、データは送信しません。検証の際、データが転送中に破損した場合、または他のコンピューターに到達しなかった場合、それを修復する方法はありません。つまり、データが間違っている場合は、間違っているので再送信することはできません。データグラムソケットは検証作業が少ないため、ストリーム形式のソケットよりも伝送効率が高くなります。
  • 次のような特徴があります: 送信順序よりも高速送信を重視;
    送信データが消失または破損する可能性がある;
    各制限送信 データサイズ;
    データの送受信は同期して行われます。
    データグラム ソケットは、UDP プロトコル (ユーザー データグラム プロトコル) を使用して、ルーティングに IP プロトコルも使用します。
  • 注: SOCK_DGRAM は想像されているほど悪くはなく、データが頻繁に失われることはなく、データ エラーが発生する可能性はわずかです。

#4. IP アドレス、MAC アドレス、ポートアドレス

  • IP アドレス: は Internet Protocol Address の略称で、「インターネット プロトコル アドレス」と訳されます。現在、ほとんどのソフトウェアは IPv4 アドレスを使用していますが、IPv6 も受け入れられており、特に教育ネットワークでは広く使用されています。 IPV4 の場合、1 台のコンピュータに 1 つの IP アドレスを持つことは非現実的であるため、通常は 1 つの LAN に 1 つの IP アドレスになります。ルーターは、IP アドレスに基づいて相手の位置を検出し、非常に効率的かつインテリジェントなアルゴリズムを備えており、目的の LAN を素早く見つけます。
  • MAC アドレス: は物理アドレスです。LAN アドレスには複数のコンピュータの MAC アドレスが含まれます。相手の IP アドレスが付加されており、さらに相手の MAC アドレスも付加されており、データ パケットが LAN に到達すると、ルーター/スイッチはデータ パケット内の MAC アドレスに基づいて対応するコンピュータを見つけます
  • ポートアドレス: コンピュータは、Web サービス (Web サイト)、FTP サービスなどの複数のネットワーク サービスを同時に提供できます。 IP アドレスと MAC アドレスだけでは、コンピュータはデータ パケットを正しく受信できますが、そのデータ パケットをどのネットワーク プログラムに渡して処理すればよいかわかりません。 , そのため通信が失敗します。 異なるネットワーク プログラムを区別するために、コンピュータは各ネットワーク プログラムに固有のポート番号 (ポート番号) を割り当てます。ポートは仮想的かつ論理的な概念です。ポートは、データが出入りするドアとして理解でき、各ドアには異なる番号 (ポート番号) が割り当てられます。以下の図に示すように:

    Pythonの基礎知識1:ネットワーク通信・データ送信
  • 補足: シリアル ポートとポート##を調べました。 今日の #コンセプト:シリアルポートは入出力通信インターフェースの一つであり、シリアル信号による通信を行うため、シリアルポートと呼ばれます。
    ポート (マイクロコントローラーは含まず、一般的な PC オペレーティング システムを指します) は、ネットワーク通信におけるさまざまな通信プロセスを識別するために使用される 16 ビットのデジタル識別子です。オペレーティング システムによって定義されます。オペレーティング システムはありません ポートの概念はありません

結論

多くのことを学びました最近のコミュニケーションについて、ぜひ持ち出して皆さんと共有していただければと思います。この記事は今後のいくつかの記事の始まりにすぎず、基本的な準備をしています。次に、関連知識を準備します最後に、誰もが参照できるよう、いくつかの例を用意してください。 ! !
次回何が起こったのか知りたい場合は、内訳を聞いてください。

無料学習の推奨事項: Python ビデオ チュートリアル

以上がPythonの基礎知識1:ネットワーク通信・データ送信の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はcsdn.netで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。