問題タブ [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.

0 投票する
1 に答える
569 参照

java - kryonet で、プログラムを停止せずにサーバーから切断するにはどうすればよいですか?

私は単純なチャット プログラムを作成しようとしています。ユーザーがプログラムを起動し、接続する特定のサーバーを入力して、その特定のサーバーから切断し、その後別のサーバーに接続TCPできるようにしたいと考えています。ip

クライアントが実行されると接続されることはわかっていますがclient.connect(timeout, ip, port)、クライアントをサーバーから切断する唯一の方法は、プログラムを終了することです。

これを行う方法はありますか?

0 投票する
2 に答える
695 参照

java - プログラムの流れに影響を与える Java System.out.println()

私は、KryoNet Java ライブラリとスリックを使用して、サーバー/クライアント ベースのゲームに取り組んでいます。サーバー クラスは、クライアントからの接続を受信すると、必要な起動情報 (プレイヤー番号など) をクライアントに送信します。これを受け取ると、クライアントはスムーズに起動し、正常に動作し始めます。このコードは次のとおりです。

playerNum は、値がサーバーから受信されたときに別のスレッドによって設定されます。しばらくの間、これを機能させることができませんでした (cs.startSlick() は呼び出されませんでした)。System.out.println(cs.playerNum) を追加すると、コードが機能し始め、ループが適切に評価され、slick が開始されます。

System.out.println がこれを行う可能性はありますか? 私はそれを他の関数、さらには cs.playerNum をパラメーターとして受け取る他の関数に置き換えようとしましたが、 cs.playerNum を具体的に出力した場合にのみ、ループを機能させることができます。もっと多くのソースを含める必要がある場合は可能ですが、 System.out.println を他の関数に置き換えて成功しなかったため、問題は直接ここにあるようです。

0 投票する
1 に答える
333 参照

java - Kryonet - バッファ オーバーフロー - 小さなオブジェクトの送信

ハイホー。すべてがローカルホストで問題なく実行されていました。これで、サーバーはプロのホストに設定されました。エラーは常に同じです:

コードは簡単です:

TestPacket クラスは単一の文字列のみです。エミュレータ経由で接続すると、すべて正常に動作します。Samsung Galaxy S4 で開くと、この例外がスローされます。

サーバーとクライアントのコンストラクターでバッファーを増やしてみましたが、うまくいきませんでした。

何か案は?

0 投票する
0 に答える
191 参照

android - Kryonet - 同じ IP アドレスから接続する (異なる LAN アドレス)

ドイツに TCP サーバーがあるとします。

同じLANネットワークでポーランドの2台の携帯電話から接続しようとすると(ここではIPが異なります):

192.168.1.8 および 192.168.1.14

以前のデバイスを切断します。どちらも同じグローバル アドレスを持っていますが、InetAddresses ではなく接続のみを保存するため、これがどのように発生するのかわかりません。

一番良かったのは、同じ PC で 2 つのエミュレーターを開いたときに、それらが動作することです + 携帯電話を 1 つ追加することもできます Oo

何か案は?:(

0 投票する
0 に答える
211 参照

java - Androidクライアントは、kryonetを使用してPCサーバーに接続できません

kryonet ライブラリを使用して、コンピューターから Android アプリにデータを送信する簡単なプログラムを作成しようとしています。Android 用の動作するクライアントを作成する方法に関するドキュメントはほとんどありません。これまでのところ、グーグルの問題から十分な情報を集めて機能させることができたと思いますが、まだ接続できません。スタックトレースは「java.io.IOException: Unable to connect to:...」と言っていますが、ssh でテストしたので、IP とポートが機能することはわかっています。

クライアント側:

パケット クラス:

サーバ側:

0 投票する
1 に答える
63 参照

kryo - Kryonet - 二重の着信パケット

わかった。パケットを 1 回受信していますが、ブロックが 2 回起動されています。例えば:

次のようなブロックがあります。

コンソール (LOG_TRACE) で、パケットが 1 回受信されたことがわかりますが、「STARTTTTTTTTTTTTTTTTT」System.out が 2 回表示され、カウントダウンが 2 回表示されるなどです。

コード全体を投稿したくありません。巨大で理解しにくいためです。これは、サーバー上のバッファのオーバーフローが原因でしょうか、それとも 1 つのデバイスで同時に 2 つの接続を開いていることが原因でしょうか? Kryonet の経験者がいる場合は、助けていただければ幸いです。

0 投票する
0 に答える
144 参照

java - kryonetにJavaFXクラスを登録するには?

Kryonet lib について助けが必要です。クラスを登録するためのネットワーク クラスを使用して、サーバーを作成します。しかし、私はJavaFXを使用していて、必要なすべてのクラスを登録できません...

例 この作品 :

しかし、Kryonet で ImageView を送信したい場合、Kryo は Node Orientation などの ImageView のすべてのプロパティを登録する必要があります。そして、私はこのエラーが発生したため、それを行うことはできません:

しかし Node$EffectiveOrientationProperty はクラスではありません。Kryo は Node.class を登録するだけでは不十分です。

誰か助けてくれませんか?

ありがとうございました。私の悪い英語で申し訳ありません。