問題タブ [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 - KryoNet: 接続直後にクライアントが切断される
これはよくある問題のようですが、トラブルシューティングに多くの時間を費やした後でも解決策を見つけるのに苦労しています. 更新されたソリューションがあることを願っています。
KryoNet Java ネットワーク ライブラリを使用して、単純なサーバーとクライアントをセットアップしています。私の問題は、サーバーに接続した直後にクライアントが切断されることです。
これが私のコードです:
サーバ
クライアント
を実行TheServer
した後TheClient
、コンソールに次のように表示されます。
接続と切断の間の時間はほぼ即時であり、設定した接続タイムアウト時間よりも確実に短いことに注意してください。setKeepAliveTCP()
また、必要ではないと思いますが、機能するかどうかを確認するために挿入したため、メソッドをコメントアウトしたことにも注意してください。
java - Java:アップキャストを強制する方法は?
Java でのシリアル化に Kryo ライブラリを使用しています。アップキャストを強制する方法がないという問題があります。状況の例を次に示します。
はまだ のインスタンスであるため、これによりclass not registered
エラーが発生します。bar
B
のインスタンスに強制的bar
にキャストする方法はありますかA
、またはのようなことをする必要がありますnew A(bar)
か?
networking - Kryonet を使用してネットワーク経由でオブジェクトを送信する方法は?
私はネットワーキングに不慣れで、Java を使用して作成したボード ゲームをネットワーク化しようとしています。友人が Kryonet ライブラリを教えてくれました。これまでのところ、それは素晴らしいです。ソケットを扱う必要はありません。
私が遭遇している問題は、オブジェクトの送信です。主に、ボード型のオブジェクトがあります。このオブジェクトには、ArrayList オブジェクトや Fort オブジェクトなどの他のオブジェクトが含まれています。
Board オブジェクトを登録しようとしましたが、次のエラーが発生しました。
わかりました.Tile.classも登録します.
エラーが増えましたが、ArrayList.class を登録する必要があります。登録すると、さらにエラーが発生するので、Fort.class を登録します。
Fort.class を登録すると、無限ループに入り、次のような大量のエラーが発生します。
これにより、適切に登録する方法がよくわからず、ネストされたオブジェクトを登録する方法について多くの情報を見つけることができないと思います。私のフォートクラスは実際には列挙型クラスですが、それが違いを生むかどうかわかりませんか? どんな助けでも大歓迎です!
私がやろうとしていることを理解できるように、ほとんどのネットワーク コードにクラスを含めました。
これはネットワーク用の私のコードです:
java - Kryonet に Enum クラスを登録するには?
ネットワーク経由で情報を送信するためにクラスを登録しようとしています。次のような Enum クラスを登録する必要があります。
ゲーム ボード全体をネットワーク経由で送信しようとしていますが、ボード内に含まれるすべてのサブクラスを登録する必要があります。主な問題は、列挙型を登録しようとすると、II がスタックすることです。
これは、私がネットワーキングのクラスで行っていることです。
Fort.class を登録しようとすると、次のような一連のエラーが発生します。
列挙型を間違って登録していますか? これを適切に行う方法についてのアイデアはありますか?
ありがとう!
java - Kryonet が android から接続しない
クライアントとサーバーを作成しましたが、どちらも問題なく動作し、接続に問題はありません。Androidフォンからサーバーに接続できるようにしたいと思います。kryonet ライブラリをインポートし、クライアント コードをコピーして新しい Android プロジェクトに貼り付けました。コードでいくつかのエラーが発生しましたが、修正しました。アプリをテストしようとしたとき、エラーは発生しませんでしたが、サーバーにも接続がありませんでした。LogCat ログを少し調べたところ、「接続中..」のままであることがわかりました。私は完全に立ち往生しています。これは私のアンドロイドコードです:
そして、これは私の通常のクライアントコードです:
したがって、この:
Androidでスタックする行です。通常のクライアントは通常どおり接続します。
今私の質問は、私のAndroidコードに何か問題がありますか、それとも単にデバイスまたはwifi接続ですか?
それが役立つ場合は、ルート化されているサムスン ギャラクシー ネクサスでテストしてみました。
前もって感謝します。