問題タブ [kryonet]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - サイズが不明な多次元配列
サイズが定義されていない配列を作成する必要があります。この配列にはユーザー情報が含まれます。
例えば:
ただし、標準のJava配列には既知の長さが必要なようですが、これはわかりません。
どのような代替手段を使用できますか?(コーディング例もいくつか見ていきます)コンストラクターでオブジェクトを渡すことができないTCPフレームワーク( kryonet )を使用しています。したがって、私が見る限り、Userオブジェクトを作成することはできません。
android - Kryonet は、クライアント 2 が接続するとすぐにクライアント 1 を切断します
以前、Kryonetで 1 対 1 の通信を行ったことがありますが、うまくいきました。
現在、私はより「標準的な」プロジェクトを行っており、1 つのサーバーとそれに接続する複数のクライアントを用意しています。
私が抱えている問題は、タイトルに記載されているとおりです。クライアント 1 は接続しますが、問題ありません。次に、クライアント 2 に接続を要求すると、すぐにクライアント 1 が切断されます。どういうわけか、サーバーは複数の同時接続を維持したくありません。
数回、2つを接続できた後、3つ目が接続するたびに、もう一方がドロップします。
いくつかの異なるデバイスですべて ICS+ (galaxy nexus、tab2、SGS3) で実行されます。
私が使用しているコードは、例に非常によく似ています。
サーバ側:
そしてクライアント側:
現時点でのリスナーはちょうどいいLog.v(TAG, "something happened);
ですし、Kryonet ライブラリからのすべてのログも有効にしているcom.esotericsoftware.minlog.Log.set(com.esotericsoftware.minlog.Log.LEVEL_TRACE);
ので、接続しているときと切断しているときを確認できます。
切断すると、次の 2 つの異なるメッセージが表示されます。
と
ここに何があるか本当にわからないので、助けていただければ幸いです。
編集:
もう少し情報: とINFO: [kryonet] Connection 3 connected: /192.168.0.104
リスナーがconnected
コールバックを受け取ることに気付きました。約 9 秒かかります! 非常に奇妙な。
networking - Slick2D KryoNet アプレット
Slick2d で Kryonet を使用して Java ゲームを作成しています。
Java アプリケーションとして実行すると問題なく動作しますが、アプレットとして実行すると次のエラーが発生します。
サーバーは実行可能な jar としてローカルで実行され、クライアント アプレットはローカルでも HTML ファイルで実行され、xampp を実行して Web サーバーとして機能します。
さまざまなシリアライザー、バッファーサイズ、単一の文字列/ブール値などを送信してみましたが、何も気に入らないようです。クライアントはサーバーに完全に接続しますが、パケットを送信すると、どのパケットが送信されても上記のエラーが発生します。
ヘルプ/アドバイスをいただければ幸いです-私はしばらくこれに悩まされていました! ありがとう
java - Kryonet ログが表示されなくなった
Android SDK を Eclipse インストールにインストールする前は、Network プロジェクトは常に Log.info("STRING") から画面上の出力に何かを出力していました。
Eclipse 用の Android プラグインをインストールしたので、Log.info から生成されたものは出力コンソールに表示されなくなりました。
たとえば Server.java を jar にエクスポートしても、jar ファイルは System.out からのものしか出力しません。Kryonet パッケージからのロギング用パッケージ。
java - Kryonet: クライアントは送信と受信を同時に行うことはできませんか?
Slick2D でゲームを作成し、マルチプレイヤーに Kryonet を使用しています。私のアーキテクチャは、すべてのクライアントがゲーム自体をプレイしていないサーバーに接続するように設定されています (同じプログラムでクライアントとサーバーを実行しているプレイヤーとは対照的です)。これは 2D シューティング ゲームであり、クライアントが 1 つだけの場合はすべて正常に動作します。別のクライアントに接続すると、この問題が発生します。
どうやら、クライアントは同時に送受信することはできません。たとえば、両方のクライアントが同時に武器を撃っている場合、そのプレイヤーだけが自分のクライアントを撃っているように見え、他のプレイヤーはアイドル状態です。同様に、両方のプレーヤーが動いている場合、もう一方のプレーヤーはクライアント プレーヤーが停止するまで移動せず、その後、もう一方のプレーヤーは現在の位置にジャンプします。
クライアント リスナーとサーバー リスナーのコードは次のとおりです。
クライアントが同時に情報を送受信できない理由、またはこの問題を克服する方法についてのアイデアはありますか?
networking - Kryonet: ディスカバリー ホストは常に null を返す
Kryonet を使用してオンライン ゲームを作成しようとしています。
IPアドレス(コードにハードコードされている)を指定すると、接続と送受信が機能します。しかし、サーバーを検出しようとすると、応答がありません。メソッドは常に null を返します。
サーバ:
クライアント:
このコードのどこが間違っていますか? 私のテストは localhost で起動されることに注意してください。ここで問題ですか?
すべての応答に感謝します。
ジョナサン
java - libgdx & kryonet: スレッド
Libgdx ライブラリを使用して、Android プラットフォーム用のゲームを開発しようとしています。ネットワークには、Kryonet ライブラリを使用します。
アプリケーションがサーバーに接続されていることが確実なときに、画面を変更したいと考えています。
ネットワーク部分は機能しているようですが、スレッドに問題があります。OpenGL を実行するのは Kryonet のスレッドであり、Libgdx スレッドではありません。
FirstとSecondは両方とも、画像を描画するだけの Screen クラスであることに注意してください。
Second Screenを起動しようとすると、この例外が発生します: スレッド " Client " で例外 java.lang.RuntimeException: 現在のスレッドで OpenGL コンテキストが見つかりません。
LibGDX スレッドに強制的に命令を実行させることはできますか? 他のアプローチは可能ですか?
ありがとうジョナサン
java - Kryonet 接続は成功しましたが、メッセージを受信していません
こんにちは、開発中のゲームのネットワーク ライブラリとして Kryonet を使用しています。
サーバー側に次のコードがあります。
そして、これはクライアント側で:
Message は、文字列を含む単なるクラスです。クライアントをサーバーに接続しようとすると、「Hey, we are connected!」というメッセージが表示されます。メッセージとその後、サーバーのコマンドラインで「クライアントからサーバーへ受信したメッセージ」。ただし、m.text (メッセージの内容) は出力されず、その理由はわかりません。
前もって感謝します。
java - 別のスレッドのオブジェクトからメソッドを実行する
ペイントするLibGDXアプリケーションと、クライアントまたはサーバー用のスレッドがあります。接続は Kryonet を使用して行われます。対戦相手が何かを作成すると、メッセージが受信されます linke:
このコールバックが呼び出されると (そして正しく)、「現在のスレッドで OpenGL コンテキストが見つかりません」というメッセージが表示されます。MyClient スレッド内でオブジェクトの要塞を探していると思います。現在別のスレッドに存在するオブジェクトを参照する fortress.map.addSoldier を呼び出したいです。
別のスレッドからメソッドを呼び出すにはどうすればよいですか?
前もって感謝します