2017-07-30 10 views
0

2つのデバイスをソケット経由で通信したいと思っています。 Iは、クライアントソケットは、このコードを使用する:LibGDX:* ip-adressへのソケット接続エラー*

Socket socket = Gdx.net.newClientSocket(Net.Protocol.TCP, adress, 1337, socketHints); 

(SocketHints:タイムアウト= 4000)

を私はGdxRuntimeExceptionこの行が実行されるたびに得ます。ソケットに何が問題なのですか?

Screenshot of stack trace

+0

[Kryonet](https://github.com/EsotericSoftware/kryonet)を使用しない理由は何ですか? – Madmenyo

答えて

0

ソケットを開くことができなかったので、あなたはそのメッセージを取得します。

注リターンin the APIについての最後の行:

newClientSocket

Socket newClientSocket(Net.Protocol protocol, 
         java.lang.String host, 
         int port, 
         SocketHints hints) 

Creates a new TCP client socket that connects to the given host and port. 

パラメータ:

host - the host address 
    port - the port 
    hints - additional SocketHints used to create the socket. Input null to use the default setting provided by the system. 

戻り値:

GdxRuntimeException in case the socket couldn't be opened 

いくつかのデバッグを行って、このエラーが発生する理由を調べてください。

ポートはすでに使用されていますか?あなたは同じポートで複数の接続を開こうとしていますか?サーバーIPは有効ですか?他の何かが問題を引き起こしているのでしょうか?

+0

私は別のポート、同じ問題を使用しようとしました。 私はlibgdxの代わりにjavaソケットを使用していて、それは私のために働いています – purpule

+0

したがって、通常のJavaソケットが動作する場合、何が違うのですか?あなたのlibgdxアプリケーションがメインスレッドでネットワーク操作を実行しようとしているのではないかと思います。ネットワーキングが別のスレッドで行われていることを確認してください。より多くのコードを見ることなく、私は何が間違っているか試してみることができます。 – sorifiend