問題タブ [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.
android - ユーザー登録?
ゲームのログイン/登録システムを作成する必要がありますが、これが一般的にどのように行われるかわかりません。私はすでに、ネットワーク経由でデータをプッシュできる Kryonet を使用して、動作するクライアント/サーバー システムをセットアップしています。どのユーザーもログインできますが、切断するとすべてが失われます。最終的にはこれを Facebook ログインと互換性を持たせたいと思っていますが、現時点では必要ありません。
java - Kryonet チャット POC タイムアウトの問題
そこで、私は Kryonet ライブラリを少し試しており、まずクライアント (リモート コンピューター) からサーバー (ローカル マシン) への通信を可能にする単純なチャット プログラムを開発することにしました。
クライアントからサーバーへのメッセージを受信できます。
しかし、厄介な問題があります。クライアントがパケット (ここではパケットはテキスト メッセージです) を一定時間送信しないと、サーバーからタイムアウトとして切断されます。
私はこれに苦労していて、これを修正する方法がわかりません...
//all my imports
これが私のプログラムのソースです(大量のインポート行を避けるためにコメントアウトされていることを除いて...):
ChattyServer.java
NetworkListener.java (サーバー側)
Packet.java (サーバー・クライアント共通)
ChattyClient.java
NetworkListener.java (クライアント側)
誰かが私が間違っていることを教えてもらえますか? クライアントが長時間アイドル状態になっても、クライアントとサーバー間の接続を維持したいと考えています。
前もって感謝します !
java - kyronet で作成したクラスを含むオブジェクトの ArrayList を送信できますか? (ジャワ)
私のコードには問題はありません。Kryonet で ArrayList 内のカスタム オブジェクトを送信できるかどうかを知りたいだけです。たとえば、私のゲームは MMORPG で、さまざまなマップがあります。クライアントがサーバーからマップを要求するとき、返されるマップ パケットに、マップ上のプレイヤーとエンティティの ArrayList を含めたいと思います。それは可能ですか?
サンプル マップ パケット:
これが不可能な場合、どうすればこれを行うことができますか?
java - Kryonet、BufferedImage を送信できません
私はまだ Java を学んでおり、Kryonet の Javadoc を検索しましたが、私の問題に対する答えが見つかりませんでした。
単純なチャット プログラムに Web カメラ機能を追加しています。
現在、ウェブカメラで撮影した単一のフレームを別のコンピューターに転送しようとしています。
Kryonet では「自作」のパケットを送信できるので、次のパケットを作成しました。
Packet9WebcamFrame.java
私のクライアントでは、このパケットを登録する必要がありました:
しかし、その後、他のクラスを登録するエラーが発生しました:
したがって、クライアントが「こんにちは、ウェブカメラ フレームを送信してください」というパケットを受信すると、次のようになります。
その後、うまくいくことを願っていましたが、それでもエラーが発生しました:
com.esotericsoftware.kryo.KryoException: java.nio.BufferOverflowException シリアル化トレース: bankdata (java.awt.image.DataBufferByte) dataBuffer (sun.awt.image.SunWritableRaster) raster (java.awt.image.BufferedImage)
フレーム (com.jmr.monitor.packets.Packet9WebcamFrame)
com.esotericsoftware.kryo.serializers.FieldSerializer$ObjectField.write(FieldSerializer.java:585) で com.esotericsoftware.kryo.serializers.FieldSerializer.write(FieldSerializer.java:213) で com.esotericsoftware.kryo.Kryo.writeObject (Kryo.java:504) com.esotericsoftware.kryo.serializers.FieldSerializer$ObjectField.write(FieldSerializer.java:564) com.esotericsoftware.kryo.serializers.FieldSerializer.write(FieldSerializer.java:213) com. esotericsoftware.kryo.Kryo.writeObject(Kryo.java:504) com.esotericsoftware.kryo.serializers.FieldSerializer$ObjectField.write(FieldSerializer.java:564) com.esotericsoftware.kryo.serializers.FieldSerializer.write(FieldSerializer. java:213) com.esotericsoftware.kryo.Kryo.writeObject(Kryo.java:504) で com.esotericsoftware.kryo.serializers.FieldSerializer$ObjectField.write(FieldSerializer.java:564) at com.esotericsoftware.kryo.serializers.FieldSerializer.write(FieldSerializer.java:213) at com.esotericsoftware.kryo.Kryo.writeClassAndObject(Kryo.java:571) at com .esotericsoftware.kryonet.KryoSerialization.write(KryoSerialization.java:50) で com.esotericsoftware.kryonet.TcpConnection.send(TcpConnection.java:192) で com.esotericsoftware.kryonet.Connection.sendTCP(Connection.java:59) でcom.jmr.monitor.PacketHandler.handlePacket4(PacketHandler.java:131) で com.jmr.monitor.Main$1.received(Main.java:93)KryoSerialization.write(KryoSerialization.java:50) com.esotericsoftware.kryonet.TcpConnection.send(TcpConnection.java:192) com.esotericsoftware.kryonet.Connection.sendTCP(Connection.java:59) com.jmr.monitor com.jmr.monitor.Main$1.received(Main.java:93) の .PacketHandler.handlePacket4(PacketHandler.java:131)KryoSerialization.write(KryoSerialization.java:50) com.esotericsoftware.kryonet.TcpConnection.send(TcpConnection.java:192) com.esotericsoftware.kryonet.Connection.sendTCP(Connection.java:59) com.jmr.monitor com.jmr.monitor.Main$1.received(Main.java:93) の .PacketHandler.handlePacket4(PacketHandler.java:131)
したがって、これは bufferOverflow の問題です。クライアントのコンストラクターで、バッファー サイズを増やすなど、いくつかのことを試しましたが、今のところうまくいきません。
この厄介な問題を解決する方法について何か考えはありますか?
前もって感謝します。
よろしく、
アズデ。
android - kryonet を使用してサーバー/クライアントが動作しない Android ゲーム
私は何日もの間、何が悪いのか、物事を変えるなどを解決しようとしてきましたが、役に立ちませんでした.
Samsung デバイスでクライアント側をデバッグしようとすると、Android Studio で次のエラーが発生します。
同じJavaバージョンを使用していると思います。クラスもまったく同じように登録します。クライアント側:
サーバ側:
クラス:
非常に基本的なコードを見ることができますが、接続するのは悪夢です。助けてください!!私はAndroidスタジオでクライアント側を作成しており、サーバーはEclipseで作成しています。これが問題の原因になる可能性はありますか? それが私が想像できた唯一の論理的な理由です。どうすれば解決できますか?
java - Kryonet シリアル化エラー
誰かがこれが重複していると私に教えようとする前に、私はこれに関する解決策と、私が見つけることができる他のほぼすべての答えを試しました。
私のプロジェクトはIntelliJで問題なくビルドされ、セットアップしたすべてのテストに合格し、IntelliJ内からでも問題なく実行されます.mavenによってビルドされたJARを実行しようとするとすぐに、いくつかの例外があります.
コードが指しているクラス:
これがコマンドプロンプトから実行されたときに表示される例外によると、問題は31行目にあります。
コマンド プロンプトのスタック トレースは次のとおりです。
前に述べたように、私は maven を使用してこのプロジェクトをビルドしていますが、kryonet ファイルを JAR にシェーディングするために maven-shade-plugin を使用しています。
ここに私のPOM.xmlがあります:
java - Array<> のシリアライザーの書き方は?
これにアプローチする方法がわかりません。Array<>
libgdx で見つかったオブジェクトのシリアライザーを作成する必要があります。
いつもの連載はこんな感じです。ここでは、 用のカスタム シリアライザーを作成する必要がありPlayerDataPacket
ます。
私はこれを見つけました: https://groups.google.com/forum/#!topic/kryonet-users/9z4Ix2JO7JA
しかし、いくつかの方法を見つけることができないため、時代遅れのようです。でそれを行いArray<>
ます。
java - ネストされたすべての静的クラスをパラメーターとしてメソッド呼び出しに自動的に渡すにはどうすればよいですか?
クラス (以下で定義)内の静的クラスの配列を取得し、Network
各クラスの属性class
をメソッド呼び出しのパラメーターに渡す方法はありますkryo.register
か?
udp - Kryonet connect udp: 要求されたアドレスを割り当てることができません
サーバー開発初心者です。私はKryonentを試しています。を使ってサーバーを作りました。
および使用しているクライアント
IP 0.0.0.0 を使用して、同じ Windows ラップトップでクライアントとサーバーの両方をテストしています。例外が発生しました:
私は何を間違えましたか?