TCP / IPとソケットの01を探索するために、ゼロからのJavaネットワークプログラミング

  最近、いくつかの緩い単純なプロジェクト、いくつかの日に完了し、  そして最終的には996年の余暇時間のポイントを盗んだ右?コンソールは、(私の目を引く共通点ログに記録し、より多くの研究を研究するために何を考えて、ああニエ元を):  

        

  (:デバッグ、図SpringBootを出力するログのlog4j、LoggingLevel使用JDKバージョン1.8

  この現象の理由は、複数のPreparedStatementをインスタンス化し、インターフェースメソッドの実装では、MyBatisのであってもよい、NIOは、異なるスレッドを有効にしたが、これでしょ?はい、NIO アウトしばらく!!! IO日!これはネットワークデータを照会した後)とその見つかりました:

  オリジナルのI / OパッケージのJDK 1.4およびNIOではうまく統合されています。java.io. *それは今NIOの機能の一部を利用することができますので、NIOベースの再実装する必要があります。例えば、java.io. *パッケージのクラスメソッドは、それがさらにストリーム指向のシステムでは、処理速度が速くなりますブロックでデータの読み書きを含みます。[からの引用:IBMの公式チュートリアル]

  要するに、今日のIOは、基本的には、いくつかの個々の読み取りのためのテストでは、NIOと統合し、書き込み操作、バージョンは決して劣っスピードIO NIOに今日見ることができます。だからここに、ログに記録されますが存在すること、の両方が速いコースNIO IOに対して互いにがNIO IOおよび支援は、参照し  、以下の特性よりもNIOの:分散性と凝集が読み取り、ファイルロック、非同期IOネットワーク、高い並行性!

  強迫性障害のいくつかの精神によって駆動され、私は、Javaネットワークプログラミングの探査のこの長い旅を始めました。道は長く一緒に旅行する前に、私の友人が来ている!私は探査迂回に歓迎のコメントを歩いた場合はどうこの中で私を!!!修正、塩辛も大歓迎します! 

Javaのネットワークプログラミング

伝送制御プロトコル(TCP、伝送制御プロトコル)

  ネットワークプログラミングは、これらのデバイスがネットワークを介して接続され、複数のデバイス上で動作するプログラムを書くことを意味します。

  J2SE仕様では、java.net APIは問題解決ではなく、に焦点を当て、開発者は、それは2つの一般的なネットワークプロトコル:.ためのサポートを提供詳細通信のために、低レベルの通信の詳細をカプセル化し、TCPとUDPを。

    

  ここでは、TCPおよびTCP / IPを理解することに焦点を当て

  以下の情報は、あなたのお母さんの度合いから来ています:

  伝送制御プロトコル(TCP、伝送制御プロトコル)は、特に設計されたバイトストリーム信頼性の低いネットワーク上のエンドツーエンドの信頼性を提供するために、トランスポートプロトコルです。8ビット・バイトで表される送信データストリームを送信するためのアプリケーション層ゲートウェイにTCP層、および適切な長さのセグメントに分割TCPデータストリーム(典型的には、ネットワーク接続コンピュータのデータリンク層によって最大伝送単位(MTU)で)を制限します。IP層にTCPパケットの結果の後に、それによってネットワークパケットを介して受信側TCPレイヤエンティティへ。発生していないTCPパケット損失を保証するために、各パケットにシーケンス番号を与えるだけでなく、シリアル番号順次パケット受信エンティティの受信側に伝送することを保証します。次に、受信側が正常に受信したパケットのエンティティは、対応する肯定応答(ACK)を返送する;(RTT)肯定応答が受信されない合理的なラウンドトリップ時間内に送信側エンティティは、対応するデータパケットがあったと想定される場合再送を失われます。チェックサムは、送信および受信のために計算され、データにエラーがあるかどうかをチェックする機能を有するTCPチェックサム。

  結論として、それは(TCPプロトコルを使用、信頼性の高い接続サービスを提供して以下に示している3ウェイハンドシェイク接続を確立します): 

  

  更加形象的表述就像是A到B家串门的情景, A先要通知B自己要去串门, 而B接受到这个消息后, 就发个消息回复A说: "六点有空你来吧,等不急啦!"  然后A也回复. "好嘞! 六点我就到!诶嘿嘿!!!"  最后, 六点A到了B家. 

IP ( 因特网互联协议, Internet Protocol )

  以下资料来源度娘:

  IP层接收由更低层(网络接口层,例如以太网设备驱动程序)发来的数据包,并把该数据包发送到更高层——TCP或UDP层;相反,IP层也把从TCP或UDP层接收来的数据包传送到更低层。IP数据包是不可靠的,因为IP并没有做任何事情来确认数据包是按顺序发送的或者没有被破坏。IP数据包中含有发送它的主机的地址(源地址)和接收它的主机的地址(目的地址)。

TCP / IP

 

OSI参考模型

 

Socket ( 套接字 )

  套接字使用TCP提供了两台计算机之间的通信机制。 客户端程序创建一个套接字,并尝试连接服务器的套接字。当连接建立时,服务器会创建一个 Socket 对象。客户端和服务器现在可以通过对 Socket 对象的写入和读取来进行通信。java.net.Socket 类代表一个套接字,并且 java.net.ServerSocket 类为服务器程序提供了一种来监听客户端,并与他们建立连接的机制。

 

 

  

おすすめ

転載: www.cnblogs.com/sansheng93/p/11246495.html