プログラミングのインターネット入門:
ネットワークプログラミングとは何か:
一般的にインターネットにコンピュータネットワークを指し、ネットワークケーブルまたは他の媒体を介して相互に接続された複数のコンピュータにより構成されており、
プログラミングのプロセスと呼ばれるネットワークで書かれたWebベースのアプリケーション
なぜネットワークプログラミングを学びます:
我々はすでに、そのコンピュータ、オペレーティングシステム、アプリケーション構成を知っているこれらの三つの要素で、あなたは、このような単一のゲームをプレイすることができ、地雷除去を掃引するものを再生するにはトランプ、など、コンピュータ上のアプリケーションの数を実行することができます
あなたが他のコンピュータとプレイしたい場合は、お使いのコンピュータや他のコンピュータが相互にデータを転送することができますようにする必要があり
世界情勢を知ることができますネットワークプログラミングを学ぶことは、あなたも自宅に滞在することができるように、通信のネットワークをサポートするアプリケーションを開発するために、他のコンピュータと相互にデータを送信するためにネットワークを使用することを学ぶことです
ソフトウェア開発フレームワーク:
C / Sアーキテクチャ:
学習ネットワークプログラミングは、それが確実にデータやプログラムの共有のために置かれるように共有データにアクセスするために、1台のコンピュータ上で実行されている少なくとも二つのコンピュータが必要になります、ネットワーク上の別のコンピュータ上のデータにアクセスすることで、他のコンピュータプログラムデータ、
私たちは、データサーバ(サーバ)、データの当事者と呼ばれるクライアントアクセス(クライアント)を提供するために、党と呼ばれます
これは、C / Sの構造であり、
あなたは番組の映像を見るためにコンピュータにインストールする必要がビデオを見てください。例えば、テンセントのビデオは、それがクライアント、テンセントビデオでTencentのサーバープログラムの実行中の部屋なので、それはまた、C / Sアーキテクチャプログラムです
さらに、Webブラウザは、基本的にC / SであるB / Sとして知られているサーバー、が、クライアントのブラウザ上のデータにアクセスすることができます
要約:
C / Sアーキテクチャ(クライアント/サーバー)
C:クライアント
S:サーバー
B / S構造(ブラウザ/サーバ)
B:ブラウザ
S:サーバー
注意:構造の性質は、BS、CS構造であります
Csの移動端末は、構造が火災、実際には、BSの上昇となっているされて見えます
統一されたインタフェース:マイクロチャンネルアリペイは、一つのことをやっています
サーバー:24時間サービス
クライアント:サービスを体験したかった場合は、サーバがお気に入りのサービスを探して行ってきました
ネットワーク通信プロトコルは:
2台のコンピュータが通信したい、次の2つの基本的な要素を持っている必要があります
1.ケーブル、無線、光ファイバなどの物理的な接続媒体、
2.通信プロトコル
物理的接続媒体1
例えば、電話線に沿って別の電話電流に到達するために、電話機が電話回線に接続されなければならない電話をかけるために、電話線は、物理的な媒体であります
2.通信プロトコル:
プロトコルが標準で、我々はすべての適切な通信交換のための同じ基準に従わなければなりません
例えば、2人が両脇が理解する言語を話さなければならない、交換する、またはあなたがあなたの言語を話す、私は私の言語は、双方は、人々が円滑なコミュニケーションの統一言語を達成するために言っている、理解していないと述べ>>>英語
必要とされるよりも、物理的な接続のメディアに加えて、**リモートコンピュータとコンピュータ間の通信に
共通の規格/プロトコルのセット
:OSIモデルの
アプリケーション層
プレゼンテーション層
セッション層
トランスポート層、
ネットワーク層、
データリンク層、
物理的な接続層
心の便宜上、簡略化されたビットのために、5は、OSIモデルとなる
アプリケーション層
トランスポート層
、ネットワーク層は、
データリンク層
、物理接続層
:1.物理接続層
の電気信号の伝送010101001バイナリデータに基づいて、
前記データリンク層
1電気信号のグループの規定
2.任意のインターネットに接続されたコンピュータの規定は、ネットワークカードを持っている必要があり
、各片は、世界数の上にユニークなカードに刻印され
12進数
上位6メーカーが番号付けされています
6後数直線であり
、我々は12桁管MACアドレス呼び出し
「イーサネットプロトコル」に合わせ、上記二点:注
3.ネットワーク層:
IPプロトコルは
限りインターネットに接続されたコンピュータは、IPアドレス持っている必要がありますとしてのために提供し
たIPアドレスの特長:点在進
IPアドレスの最小値:0.0.0.0
IPアドレスの最大値:255.255.255.255
IPアドレスは2つのバージョンが現在利用可能である:IPV4 IPV6(原因IPV4は、コンピュータがそうIPV6版)十分な既存の起動有していることを示している
IPアドレスが動的に割り当てられているが
4.トランスポート層の
TCP / UDPプロトコルは、ポートの動作に基づいている
ポート(ポート)
実際には、コンピュータおよびコンピュータ上のコンピュータアプリケーションとアプリケーション間の通信の間に
ポート:コンピュータ上のアプリケーションを識別するために使用される
0〜65535:ポート番号の範囲
注:これらは、1024に0でありますオペレーティングシステムのデフォルトのポート番号の
勧告:8000の後にポートを使用
MySQLのデフォルトのポート:3306
Redisのデフォルトのポート:6379
Djangoのデフォルトのポート:8000
フラスコデフォルトのポート:5000
ポート番号が動的に割り当てられ、例えば、第1のポート番号を割り当てられQQは8989で開始し、QQは、ポート番号が再び開始する可能性がありますシャットダウン変更
要約:
IPアドレス:一意にインターネットに接続されたコンピュータを識別するために使用される
ポートポート:コンピュータ上で起動するアプリケーションを一意に識別するために使用している
IP +ポート:一意の識別子は、コンピュータ上でインターネットにアクセスするにはプログラムへの参照が開始
5.アプリケーション
データ伝送
TCPプロトコルの
損失プロトコル、信頼性の高いプロトコル
双方向チャネルを確立するために必要なTCPプロトコルの通信に基づいての、
信頼性の高いデータ伝送TCPの理由は、彼がフィードバック機構を持っているということですので、信頼性の高いプロトコルであり、なぜ
データのための送信当事者は、メモリ内のデータを削除します、受信者の応答を待つ必要があります
応答は、メモリ内のデータを削除する必要がありますされるまで待って、その後、一度髪に随時、意志を削除されていない、応答がなかった
3ウェイハンドシェイク:
データ伝送の信頼性を確保するためにスリーウェイハンドシェイクプロセスは、実際には本当に、あなたが私の髪を受け取ることができ、あなたが受け取る私の髪を確認しています
リンクは実際には存在しない、仮想的な概念である限り、3ウェイハンドシェイクの成功は、接続が確立されることを意味します!
あまりにも再試行回数は、リンクが中断されている可能性が言った場合は、TCPプロトコルは、何の応答が受信されない場合、データを送信した後、他の当事者は、時間の期間内に、データの送信に成功したことを確認するための応答メッセージを受信する必要があり、それが自動的に再送信することが必要です!
四波:
四の振っ目的は、データの整合性を確保するために、両者の間のデータ送信が完了したことを確認することです
未発表のプレイデータがある場合は、サーバーがチェックする必要があるため、2段階の合併の真ん中を振って四つではなく、
利点は明らかです:データの送信が完了したことを確認するために、
短所:いつものように減少し、伝送効率が得られ、情報伝達を確認する必要があります
シーン:その上、このようなテキスト情報、支払い情報として、シーンのデータの整合性を確認する必要があります使用、および!