LibGDXサーバーを起動しようとしています。私はこのサイトからコードをコピーしました:https://github.com/libgdx/libgdx/blob/master/tests/gdx-tests/src/com/badlogic/gdx/tests/net/PingPongSocketExample.javaしかし、私はラインサーバーサーバー= Gdx.net.newServerSocket ... nullポインタ例外を取得しています...何が起こっているのですか?LibGDX:newServerSocketによりnullポインタ例外が発生する
答えて
静的ユーティリティ変数LibGDXは、ほとんどすべてのJava変数と同様に、null
として開始します。これらは、各プラットフォームで異なる実装をサポートするためにすぐに割り当てられるわけではありません(最終的なものでもありません)。たとえば、実際にこの値を割り当てるアプリケーションを起動しない限り、Gdx.net
で参照するNet
の実装はnull
です。
通常のクライアントアプリケーションの一部としてサーバーを使用する場合は、アプリケーションを最初に起動してから、と入力してからサーバーソケットを作成してみてください。別のサーバーアプリケーションが必要な場合は、headless
バックエンドを試してみてください。手動でNet
インスタンスを作成することもできます(例:new HeadlessNet().newServerSocket(...)
またはnew AndroidNet().newServerSocket(...)
)。
Net
ほとんどのプラットフォームでは、実装は基本的に単純なステートレスなファクトリです。そのため、いくつかのインスタンスを用意しても問題ありません。手動でNet
インスタンスを作成し、を次に作成してもを作成しても問題はありません。
ありがとう、これは理にかなっています!しかし、今私は別の問題を抱えています。私のサーバークラスでは、LwjglNetをインポートできません。実行しようとすると、Gradleはパッケージcom.badlogic.gdx.backends.lwjglが存在しないと言います。ただし、別のクラスでインポートしようとすると、正常に動作します。ビルドの設定に問題があると思われます。 – TAsk
おそらくこのクラスを 'core'プロジェクトにインポートしようとしています。コアには、他のプラットフォームで使用されていた抽象的な依存性だけがあります。 'LwjglNet'はデスクトッププラットフォーム特有のクラスです。コアプロジェクトにはこの依存関係はありません。['gdx-backend-headless'](http://mvnrepository.com/artifact/com.badlogicgames.gdx/gdx-backend-headless)と別のプロジェクトを作ることをお勧めします。サーバーアプリケーションが必要な場合 – JustACluelessNewbie
NPEの問題を解決するにはいくつかの方法がありますが、達成しようとしていることを知ることは役に立ちます。サーバーソケットの作成がクライアントアプリケーションのほとんどすべての場合、アプリケーションが完全に作成されるまで待つだけで、クロスプラットフォームAPIには 'Gdx.net'を使用することができます。別の "グローバル"サーバが必要な場合は、ヘッドレスバックエンドを試してください。 – JustACluelessNewbie
- 1. ImageButtonのOpenOptionMenuによってNULLポインタ例外が発生する
- 2. コードの実行中にNULLポインタ例外が発生する
- 3. 配備中にNULLポインタ例外が発生する
- 4. インテントを扱うときにNULLポインタ例外が発生する
- 5. データベースを開くときにNullポインタ例外が発生する
- 6. APIにアクセスしようとするとNULLポインタ例外が発生する
- 7. Webサービスでnullポインタ例外が発生する
- 8. クエリの更新SQLiteでNULLポインタの例外が発生する
- 9. プライベート静的プロパティ変数によってNULLポインタ例外が発生する
- 10. nullポインタ例外が発生しています
- 11. asp.netアプリケーションでnullポインタ例外が発生しています
- 12. ここでnullポインタ例外が発生しますか?
- 13. writeCharacteristicでNULLポインタ例外が発生しました
- 14. ImageButton.setOnClickListenerでNULLポインタ例外が発生しました
- 15. firebaseのgetEmail()でNULLポインタ例外が発生しました
- 16. リストに要素を追加する際にnullポインタ例外が発生する
- 17. データベースに挿入するときにNULLポインタ例外が発生する
- 18. nullポインタ例外がある
- 19. NULLポインタ例外
- 20. nullポインタ例外
- 21. groovy taskdefでantプロパティにアクセスするとNULLポインタ例外が発生する
- 22. 画像を描画するときにnullポインタの例外が発生する
- 23. 関数呼び出し中にnullポインタ例外が発生する
- 24. SourceDataLineへの書き込み中にNULLポインタ例外が発生する
- 25. eclipseでaxis2を設定中にJavaのNULLポインタ例外が発生する
- 26. JavaでJmeterテストを実行中にNullポインタ例外が発生する
- 27. 他のjtableセルをクリックしたときにnullポインタ例外が発生する
- 28. NULLポインタ例外参照が
- 29. openOrCreateDatabaseがnullポインタ例外
- 30. Javaのnullポインタ例外が
正確な例外とLibGDXのバージョンを投稿できますか? 'AndroidNet'はあなたが投稿したメソッドからnullを返すことはありません。アプリケーションが既に起動しているので、起動してもよろしいですか? – JustACluelessNewbie
ああ、問題がある、私は全くアプリケーションを始めていない...:P意味をなさない。 – TAsk
'Gdx.net'はアプリケーションを起動しない限りヌルです。単にネットワーキング機能を使いたいのであれば、' new LwjglNet()。newServerSocket(...) 'のように' Net'実装オブジェクトを手作業で作成してみてください。 – JustACluelessNewbie