0

LAN内の2台のコンピューター間で非常に基本的な接続を確立しようとしています。私はいくつかのコードスニペットを見てそこから行きましたが、最初は失敗しているようです:ソケットの作成。

Jeroen-DESKTOPコードを実行しているコンピューターへの接続(ホスト名" "と" Localhost"およびローカルホストIP" 127.0.0.1"を使用)とラップトップへの接続( ""を使用)の両方で試してみましたJeroen-LAPTOP6666ポートを試し7598、ファイアウォール設定でポートへのすべてのTCP接続を開きました。

私が使用しているコードは非常に基本的です。

socket = new Socket("Jeroen-LAPTOP", 6666);
System.out.println(socket.getPort());

エラーは次のとおりです。

java.net.ConnectException: Connection refused: connect
    at java.net.DualStackPlainSocketImpl.connect0(Native Method)
    at java.net.DualStackPlainSocketImpl.socketConnect(Unknown Source)
    at java.net.AbstractPlainSocketImpl.doConnect(Unknown Source)
    at java.net.AbstractPlainSocketImpl.connectToAddress(Unknown Source)
    at java.net.AbstractPlainSocketImpl.connect(Unknown Source)
    at java.net.PlainSocketImpl.connect(Unknown Source)
    at java.net.SocksSocketImpl.connect(Unknown Source)
    at java.net.Socket.connect(Unknown Source)
    at java.net.Socket.connect(Unknown Source)
    at java.net.Socket.<init>(Unknown Source)
    at java.net.Socket.<init>(Unknown Source)
    at domain.Client.<init>(Client.java:13)
4

1 に答える 1

1

あなたが何をしているのか正確に知らなくても-

マシンAでソケットを開き、マシンBを使用してソケットに接続しようとすると、Javaの一般的なシナリオは次のようになります。

マシンA:

ServerSocket server = new ServerSocket(4444);
Socket connection = server.Accept();

マシンB:

Socket sock = new Socket(MACHINE-A-IP, 4444);

これを機能させるには、例外処理などが必要になります。ここで例を見ることができます。 http://docs.oracle.com/javase/tutorial/networking/sockets/clientServer.html

あなたのコメントに関して-はい、あなたは両方をローカルで実行することができます。

于 2012-12-22T19:37:20.533 に答える