Java I/OおよびNIOネットワークのクリーンアップ7:ソケット
8637 ワード
1. 🍖 コンセントとは?
ユーザーがアクセスできるインタフェースを提供します.
2. 🍔 コンセントの使用
コンセントを使用するには、コンセントの作成(コンセントを開く)、コンセントを通じてコンセントを送信および受信し、コンセントを閉じる(コンセントを閉じる)3つの手順を理解する必要があります.
1.コンセントの3種類のフォーマット
SOCK STREAM:双方向通信スロット、データストリームの交換を実現
SOCK DGRAM:データ通信用スロットであり、SOCK STREAMと同様に双方向通信が可能である.
SOCK ROW:PINGプログラム使用
SOCK STREAM形式の別の言い方はTCPであり、SOCK DGRAM形式はUDPである.
2.インターネットアドレスとポート
ネットワークを介して情報を転送および受信するにはソケットが必要です.
ソケットを使用するには、インターネットアドレスとポートを知っておく必要があります.
マンション:IP(インターネットアドレス)
番号:PORT(ポート)
1台のコンピュータでは、複数のプロセスがソケットを介して通信し、ポートを使用して各ソケットを区別します.
0から1023まで、数字はよく知られているポートで、有名なプログラムを使用するポートが指定されており、1024以降に使用されます.
3. 🍕 InetAddressクラスを使用してドメインとIPを変換
コンピュータと通信するには、IPアドレス、javaを知らなければなりません.Net PackageにおけるIPに関する重要なカテゴリはInetAddressである.
InetAddressオブジェクトは、ジェネレータを使用してオブジェクトを作成するのではなく、以下の静的特性を持つ方法でオブジェクトを作成します.
1.InetAddressクラスを使用してnslookupコマンドを実装
public class NsLookup{
public static void main(String[] args){
InetAddress inetaddr[] = null;
try{
inetaddr = InetAddress.getAllByName(args[0]);
}catch(UnknownHostException e){
e.printStackTrace();
}
for(int i = 0 ; i< inetaddr.length; i++){
system.out.println(inetaddr[i].getHostName());
system.out.println(inetaddr[i].getHostAddress());
system.out.println(inetaddr[i].toString);
}
}
}
ドメインまたはIPアドレスをgetAllByNameメソッドに渡すと、InetAddress[]が返されます.この場合、1つのドメインは複数のIPを持つことができるため、配列形式で返されます.
2.InetAddressクラスを使用してローカルコンピュータ名とIPを取得
public class NsLookup{
public static void main(String[] args){
InetAddress inetaddr = null;
try{
inetaddr = InetAddress.getLocalHost();
}catch(UnknownHostException e){
e.printStackTrace();
}
system.out.println(inetaddr.getHostName());
system.out.println(inetaddr.getHostAddress());
system.out.println("byte[] 형식의 ip 주소값 출력");
byte[] ip = inetaddr.getAddress();
}
}
Reference
この問題について(Java I/OおよびNIOネットワークのクリーンアップ7:ソケット), 我々は、より多くの情報をここで見つけました https://velog.io/@vov3616/자바-IO-NIO-네트워크-정리-7-소켓テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol