開発中にサーバーを起動する必要がある場合、ローカルテストではポートを直接書き込み、実際の環境ではバインドする IP も指定する必要があります。 サーバーに複数のネットワーク カードがある場合があり、システムは指定された IP とポートを介して通信する必要があるため、サーバーが使用する IP とポートを構成ファイルで定義する必要があります。 通常のテストでは、IP が指定されていない場合、ServerSocket はどこにバインドするのでしょうか? この場合、サーバーはこのポートを 0.0.0.0 にバインドします。つまり、すべての IP にバインドし、各 IP でリクエストを受信できるようになります。 0.0.0.0 が何であるかについては、ここでは説明しません。 以下はテスト プログラムです。次のプログラムを通じて状況がどのようなものか確認できます。 パッケージテスト; java.net.InetSocketAddress をインポートします。 java.net.ServerSocket をインポートします。 java.net.Socket をインポートします。 パブリッククラステスト{ パブリック静的void main(String[] args)は例外をスローします{ SocketClientクライアント = 新しいSocketClient(); 新しいスレッド(クライアント).start(); ServerSocket serverSocket = 新しい ServerSocket(); serverSocket.bind(新しいInetSocketAddress(8888)); // serverSocket.bind(新しいInetSocketAddress("127.0.0.1",8888)); // serverSocket.bind(新しいInetSocketAddress("192.168.1.100",8888)); System.out.println(serverSocket.toString()); serverSocket.accept(); } } クラスSocketClientはRunnableを実装します{ パブリックボイド実行() { 試す { スレッド.sleep(2000); 試す { ソケット socket = new Socket("127.0.0.1", 8888); System.out.println("127.0.0.1 成功" + socket.toString()); } キャッチ (例外 e) { System.err.println("127.0.0.1 に失敗しました"); } 試す { ソケット socket = new Socket("192.168.1.100", 8888); System.out.println("192.168.1.100 成功" + socket.toString()); } キャッチ (例外 e) { System.err.println("192.168.1.100 に失敗しました"); } } キャッチ (例外 e) { e.printStackTrace(); } } } この時点での印刷結果は次のとおりです。
127.0.0.1 を使用した場合の結果を印刷します。
192.168.1.100 を使用した場合の結果を印刷します。
デフォルトのバインディングは 0.0.0.0 であることがわかります。この時点で、このコンピューターにマークできる任意の IP を使用してポート 8888 にアクセスできます。 もちろん、これはデュアル ネットワーク カードの検証ではありません。まだ 1 つのネットワーク カードでプレイしているからです。条件が許せば、ブレードマシンで小さなテストを行うことができます。 以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
<<: MySQL CHARとVARCHARの保存と読み取りの違い
>>: Vue3は独自のページングコンポーネントをカプセル化します
この記事では、CSS を使用して半透明の背景と不透明なテキストの効果を実現する方法の例を紹介します。...
バイナリ docker 19.03 バージョンがインストール後に docker0 ブリッジを自動的に...
CentOS 8 が利用可能になりました! CentOS 8 と RedHat Enterprise...
<br />Web ページ上の情報は主にテキストベースです。 Web ページでは、フォン...
1. リンクハイパーテキスト リンクは HTML において非常に重要です。基本的な形式は次のとおりで...
1. はじめにEXPLAIN ステートメントは、MySQL がステートメントを実行する方法に関する情...
Centos7 バージョンをインストールするときに、外部ネットワークへの接続を選択すると、外部ネット...
目次1. JS オブジェクトDOM –1、機能–2、テスト3. jQuery –1. 概要–2、使用...
目次数学オブジェクト共通プロパティ一般的な方法Math.random()文字列メソッド長さプロパティ...
この記事の例では、参考のためにjsキャンバスランダムパーティクルエフェクトの具体的なコードを共有して...
MySQL のパフォーマンス調整とサービス ステータスの監視を行うには、MySQL の現在の実行状態...
少し前にSQLの独学を終え、MySQL 8.0.17をダウンロードしました。インストールして設定した...
今日、SQLトレーニングの質問バンクでこの質問を見ました。これは、非常に代表的なマルチテーブル変更の...
目次ベース戻り値の型文字列とブール値数値とbigintシンボル未定義関数物体他のよくある質問参照エラ...
序文開発プロセスでは、ブラウザレベルでユーザーが実行した操作を記憶するなど、同様の要件に遭遇すること...