Python基礎知識2:ネットワーク通信・データ送信
pythonネットワーク通信データ送信の実装(基礎知識(2))
- ## 序文
- # 基礎知識の学習
- 1. OSI モデル
- 2. TCP、IP プロトコル ファミリ:
- 3. Python での文字列のエンコード方法
- ##結論
- ##まえがき
第二部はこちら!今日は基礎知識を学びましょう。基礎をしっかりと固めてこそ、深く学ぶことができます。 ! !
# 基礎知識の学習
1. OSI モデル
-
OSI モデル は、ネットワーク通信作業を 7 つの層に分割します。下から順に、物理層、データリンク層、ネットワーク層、トランスポート層、セッション層、プレゼンテーション層、アプリケーション層。
OSI は概念と理論として存在するモデルにすぎませんが、レイヤーが多すぎてネットワーク作業が複雑になるという欠点があるため、大規模には適用されていません。その後、OSI が簡素化され、いくつかの層が統合されました。最終的には 4 つの層だけが残りました。下から上に、インターフェイス層、ネットワーク層、トランスポート層、アプリケーション層です。これは有名な # です。 ##TCP/IP モデル。 # このネットワーク モデルは具体的に何をするのでしょうか?一言で言えば、データのカプセル化です。 - データのカプセル化原理: 私たちが通常使用するプログラム (ソフトウェア) は、アプリケーション層を介してネットワークにアクセスし、プログラムが生成するデータは、最後のネットワーク インターフェイス層がネットワーク ケーブルを介してインターネットに送信されるまで、層ごとに送信されます。データが 1 つの層に進むたびに、その層のプロトコルによってパッケージ化され、インターネットに送信されるまでに、元のデータよりも 4 層多くのパッケージ化層が形成されます。データのカプセル化プロセス全体は、ロシアのマトリョーシカ人形のようなものです。他のコンピュータがデータ パケットを受信すると、ネットワーク インターフェイス層から層ごとに送信され、送信の各層が解凍され、最後のアプリケーション層まで、最もオリジナルなデータが取得されます。これはプログラムが送信するデータです。使用します。データをパッケージ化するプロセスでは、実際にはデータの先頭にフラグ (データ ブロック) を追加します。これは、データがこの層を通過し、処理されたことを示します。データをアンパックするプロセスはまったく逆で、データのヘッダーのマークを削除し、徐々に元の形状を明らかにします。 (OSI 7 層ネットワークモデルと TCP/IP 4 層ネットワークモデルの比較)
2 台のコンピュータが通信する場合、 - 次の原則に準拠する必要があります: (1) 通信は 同じレベルである必要があります たとえば、コンピュータ A のアプリケーション層とコンピュータ B のトランスポート層同じレベルにないため通信できません。データの解凍で問題が発生します。
(2) 各層の機能は同じである必要があります。つまり、まったく同じネットワーク モデルを持っている必要があります。ネットワークモデルがすべて異なっていると、混乱してしまい、誰も知らないことになります。
データはレイヤーごとにのみ送信でき、レイヤーホッピングはできません。 (3) 各層は、下位層が提供するサービスを利用したり、上位層にサービスを提供したりすることができます。
一般的に使用されるソケット プログラミングは次のとおりです。 TCP および UDP プロトコルに基づく、それらの階層関係は次の図に示されています:
#Python では、文字列のエンコーディングを utf-8 に変換する必要があります。
- 同じ数値でも、それを表すさまざまな方法を選択できます。どのソリューションを選択しても、Unicode エンコード方式になります (utf-8 は特定の Unicode エンコード方式です。達成されます)。
-
Python は内部で Unicode を使用して文字列を表現するため、中国語の文字を印刷する場合 (英語の文字と数字の Unicode と utf-8 エンコードは同じです)、 Unicode エンコード方式であることが保証されています。「utf-8」エンコード方式 (出力はバイナリ コードの束) の場合、漢字の UTF-8 エンコードは 3 バイト、つまり 1 バイトです。以下に示すように、3 セグメントのバイナリ表現)、.decode("utf-8") を使用してデコードできます。ハードディスクに保存する場合や、インターネットに送信する場合(ソケットなどの通信関連)にはUTF-8に変換する必要があります。
(Python での utf-8 エンコードの出力結果) - 内部的に UTF-8 を使用し続けてみませんか。そうでない場合は、必要ありません。変換された?これには、文字列の長さの計算と部分文字列の検索が非常に非効率であるという UTF-8 の欠点が関係します。 UCS2 を使用する場合、文字列の長さを知りたい場合は、文字列が占めるバイト数を調べて 2 で割ります。UTF-8 の場合は、文字ごとにカウントする必要があります。部分文字列検索を行う場合、次の文字が何バイトを占めるかがわからないため、これらの効率的な検索アルゴリズムは機能しません。
#結論
次回は簡単な例をいくつか考えていきます、誰もがそれを理解し、実践できるようにします。最後に、皆さんも読んだら「いいね!」を押して励ましていただければ幸いです この記事を書いてから2時間以上経ちました これは営利行為ではなく、知識の共有、共に学ぶためのものです、そして一緒に成長していきましょう! ! ! (密かに、他の人の記事を読んだ後は好きではありません。これは良い習慣ではありません。すぐに変更します、ウーウーウー)
関連する無料学習推奨事項: Python チュートリアル #(ビデオ)
以上がPython基礎知識2:ネットワーク通信・データ送信の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











PHPは主に手順プログラミングですが、オブジェクト指向プログラミング(OOP)もサポートしています。 Pythonは、OOP、機能、手続き上のプログラミングなど、さまざまなパラダイムをサポートしています。 PHPはWeb開発に適しており、Pythonはデータ分析や機械学習などのさまざまなアプリケーションに適しています。

PHPはWeb開発と迅速なプロトタイピングに適しており、Pythonはデータサイエンスと機械学習に適しています。 1.PHPは、単純な構文と迅速な開発に適した動的なWeb開発に使用されます。 2。Pythonには簡潔な構文があり、複数のフィールドに適しており、強力なライブラリエコシステムがあります。

Pythonは、スムーズな学習曲線と簡潔な構文を備えた初心者により適しています。 JavaScriptは、急な学習曲線と柔軟な構文を備えたフロントエンド開発に適しています。 1。Python構文は直感的で、データサイエンスやバックエンド開発に適しています。 2。JavaScriptは柔軟で、フロントエンドおよびサーバー側のプログラミングで広く使用されています。

VSコードはWindows 8で実行できますが、エクスペリエンスは大きくない場合があります。まず、システムが最新のパッチに更新されていることを確認してから、システムアーキテクチャに一致するVSコードインストールパッケージをダウンロードして、プロンプトとしてインストールします。インストール後、一部の拡張機能はWindows 8と互換性があり、代替拡張機能を探すか、仮想マシンで新しいWindowsシステムを使用する必要があることに注意してください。必要な拡張機能をインストールして、適切に動作するかどうかを確認します。 Windows 8ではVSコードは実行可能ですが、開発エクスペリエンスとセキュリティを向上させるために、新しいWindowsシステムにアップグレードすることをお勧めします。

VSコードはPythonの書き込みに使用でき、Pythonアプリケーションを開発するための理想的なツールになる多くの機能を提供できます。ユーザーは以下を可能にします。Python拡張機能をインストールして、コードの完了、構文の強調表示、デバッグなどの関数を取得できます。デバッガーを使用して、コードを段階的に追跡し、エラーを見つけて修正します。バージョンコントロールのためにGitを統合します。コードフォーマットツールを使用して、コードの一貫性を維持します。糸くずツールを使用して、事前に潜在的な問題を発見します。

PHPは1994年に発信され、Rasmuslerdorfによって開発されました。もともとはウェブサイトの訪問者を追跡するために使用され、サーバー側のスクリプト言語に徐々に進化し、Web開発で広く使用されていました。 Pythonは、1980年代後半にGuidovan Rossumによって開発され、1991年に最初にリリースされました。コードの読みやすさとシンプルさを強調し、科学的コンピューティング、データ分析、その他の分野に適しています。

VSコードでは、次の手順を通じて端末でプログラムを実行できます。コードを準備し、統合端子を開き、コードディレクトリが端末作業ディレクトリと一致していることを確認します。プログラミング言語(pythonのpython your_file_name.pyなど)に従って実行コマンドを選択して、それが正常に実行されるかどうかを確認し、エラーを解決します。デバッガーを使用して、デバッグ効率を向上させます。

VSコード拡張機能は、悪意のあるコードの隠れ、脆弱性の活用、合法的な拡張機能としての自慰行為など、悪意のあるリスクを引き起こします。悪意のある拡張機能を識別する方法には、パブリッシャーのチェック、コメントの読み取り、コードのチェック、およびインストールに注意してください。セキュリティ対策には、セキュリティ認識、良好な習慣、定期的な更新、ウイルス対策ソフトウェアも含まれます。
