0

2台のコンピューターを接続する簡単なゲームを作成しました。私は同じコンピューターでテストしましたが、問題ありません。アドホックネットワークを作成するとき(Windows 7の場合)。1台のコンピューターはサーバーであり、正常に作成されました。

ssock = new ServerSocket(PORT);
sock = ssock.accept();

そして、1台のコンピューターがクライアントです。

sock = new Socket("localhost", PORT);

この行まで実行すると。私はこのエラーを受け取りました:

java.net.ConnectException:接続が拒否されました:java.net.PlainSocketImpl.socketConnect(Native Method)at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:351)at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java: 213)java.net.PlainSocketImpl.connect(PlainSocketImpl.java:200)at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)at java.net.Socket.connect(Socket.java:529)atjava。 net.Socket.connect(Socket.java:478)at java.net.Socket。(Socket.java:375)at java.net.Socket。(Socket.java:189)at com.controller.MainController $ GameObject。( MainController.java:78)at com.controller.MainController $ 3.run(MainController.java:180)at java.lang.Thread.run(Thread.java:662)

ここで何が悪いのか、指摘するのを手伝ってください。

ありがとう :)

4

2 に答える 2

1

行で

sock = new Socket("localhost", PORT); 

最初の引数「localhost」は、接続するマシンのホスト名です。「localhost」は常に現在のマシンを意味します。サーバーが別のマシンで実行されている場合は、サーバーの場所をソケットに指示する必要があります。

「localhost」を他のマシンのIPアドレスまたはホスト名に置き換える必要があります。これらがわからない場合は、サーバーマシンで次の手順に従ってください。

  • 開始->実行
  • Enterキーcmdを押し、Enterキーを押してコマンドシェルを開きます
  • ipconfigコマンドシェルに入力してEnterキーを押します

これで、IPアドレスを含む、マシン上のすべてのネットワークアダプタに関する構成情報が表示されます。

于 2012-10-10T07:56:27.503 に答える
0

「localhost」を目的のIPアドレスに置き換えることに加えて、ファイアウォールで指定されたポートが無効になっているかどうかを確認する必要があります。

于 2012-10-10T07:59:12.180 に答える