Javaで実装されているNEATアルゴリズム(これはANJI)を使用してAgar.ioのボットを開発するプロジェクトを計画しています。私はOgarというオープンソースのAgar.ioサーバーを使用します。これはJavascriptで実装されています。 Javascriptの実装は、ゲームの実行中にボットを進化させるためにJavaライブラリと通信する必要がありますが、JavaとJavascriptを通信する方法についての以前の経験はありません。私はRhinoの使用を検討しましたが、ブラウザで使用することはできません。では、OgarのようなJavascriptの実装にJavaライブラリを使用させる方法はありますか?JavaライブラリでJavaを使用する
答えて
一般的にJavascriptとJavaライブラリはRestとJsonを使用して通信し、JavaはRest APIを提供し、JavascriptはJson要求をこのAPIに送信します。
これはJavaライブラリの一覧です:Java Rest APIを開発し、JSONで作業しています。 RESTEasyを使用することをお勧めします。
これは私の最初の考えでもありましたが、JavaとJavascriptをより緊密に統合できるソリューションを探し続けました。 Rest/Jsonの解決策の問題は、(各エージェントがサーバーに要求を頻繁に送信する必要がある大規模な集団で作業する必要があるため)遅い可能性があるということです。しかし、それ以外の方法がない場合は、[Play-framework](https://www.playframework.com)で実装します。 –
この場合、Rhino/Nashormを使用することは関係ありません。パフォーマンス重視の場合は、Java JSエンジン経由でnodeJSベースのアプリケーションを実行するのは非常に難しいでしょう。
Agar.ioサーバーは、WebSocket APIを公開するNodeJSサーバーであり、クライアントソリューションはこのように通信する必要があります。
Using spring websocket client for example
あなたはAgar.io-botを見たことがありますか?そのBOTを実装する方法のように見えるjavascriptブラウザの拡張機能であり、ブラウザ経由で通信します。
- 1. iOSプロジェクトでJavaライブラリを使用する
- 2. Javaライブラリのコマンドラインを使用
- 3. Springデータを使用するJavaライブラリ
- 4. JSPでサードパーティのJavaライブラリを使用
- 5. Java用WebPライブラリ?
- 6. Java用jGraphTライブラリ
- 7. Java用RTSPライブラリ
- 8. SGDライブラリJava用
- 9. Java用TreeMapライブラリ?
- 10. Eclipse JavaプロジェクトでのJNIライブラリの使用
- 11. ScalaでのJavaライブラリの使用
- 12. ASM Javaライブラリを使用したアンボクシング
- 13. Java/gradle/groovyにjira-rest-java-client Javaライブラリを使用しますか?
- 14. Android用SSH Javaライブラリ?
- 15. Java用SQL Serverライブラリ
- 16. 郵送用Javaライブラリ
- 17. JavaでZXingライブラリを使用してカラー画像をデコードする
- 18. Javaで既存のunixライブラリを使用する方法
- 19. APIキーをGoogle音声で使用する方法grpc Javaライブラリ
- 20. Java ReloadableResourceBundleMessageSourceをjavaクラスで使用する
- 21. ライブラリ用JasperReportバージョン6.3 Java用
- 22. Javaの - 私はJavaでライブラリのセットを使用していますMaryTTS声に
- 23. AWSラムダJAVA:外部ライブラリの使用
- 24. java poker-evalライブラリを利用する
- 25. IDEA IntelliJが使用するJava GUIライブラリは何ですか?
- 26. 私のJavaライブラリでTimber Loggerを使用できますか?
- 27. J2MEでJava SEライブラリを使用できますか?
- 28. Ceylon M1 NewtonでJava Coreライブラリを使用できますか?
- 29. Talend Javaカスタムコンポーネントで使用するJavaコード
- 30. Javaライブラリの使い方は?
"nodejs java"のすばやいグーグルが[このノードモジュール](https://www.npmjs.com/package/java)になります。あなたは研究をしようとしましたか? – rmlan