この質問は非常に明白な質問のように思えますが、答えを見つけるのに 1 時間以上を費やしました。
まず、ホストして、誰かが接続するのを待ちます。次に、アプリケーションの別のインスタンスから、ソケットに接続しようとします。コンストラクターには、InetAddress、ポートを使用します。ポートは常に正しく、アドレスに「localhost」を使用するとすべてが機能します。ただし、自分の IP (Google で "what is my ip" から取得した IP) を入力すると、IOException が発生します。私はアプリケーションを他の人に送り、彼に私の IP を与えましたが、うまくいきませんでした。
アプリケーションの目的は、2 台のコンピューターを接続することです。それはJavaにあります。関連するコードは次のとおりです。
サーバ:
ServerSocket serverSocket = new ServerSocket(port);
Socket clientSocket = serverSocket.accept();
クライアント:
InetAddress a = InetAddress.getByName(ip);
Socket s = new Socket(a, port);
私はそれを乗り越えません。明らかに、int portとString ipの値はテキスト フィールドから取得されます。
編集: 私のアプリケーションの目的は、2 つの非ローカル コンピューターを接続することです。