我正在开发基于 Java 和 Netty 的下棋服务器以及使用 C++ 的客户端应用程序。客户端和服务器之间的消息传递过程基于 Google Protobuf 协议现在我希望网站充当应用程序服务器的客户端,以便它与服务器应用程序紧密集成
我为网站选择了 Play 2.1(JAVA) 框架
1)
首先,我在尝试从 Play 2.1 应用程序运行我的 Netty 服务器实例时遇到了麻烦,所以我将下一个代码添加到 Global.java(Play 框架启动文件)
public void onStart(Application app) {
// ...
new Thread() {
public void run() {
new NettyServer().run();
}
}.start();
}
以这种方式运行我自己的 Netty 实例似乎是个好主意吗?
2)我不确定如何验证数据,因为应用服务器通过不同的协议从 C++ 客户端和网站获取要验证的数据客户端使用 protobuf 协议将其作为二进制编码数据发送,网站发送 POST 请求我希望验证相等两个客户端为了验证从网站发送的数据,我可以使用 Form < T > helper 认为我不能将它用于二进制编码的 protobuf 数据。关于如何管理验证的任何想法?
3) 我使用 i18n Play 模块中的 Messages.get() 将消息翻译成用户的语言。客户端使用浏览器,Play 从客户端请求标头中确定用户的语言,并选择适当的翻译文件。
但是我的客户呢?我对用户的语言一无所知,因此无法将其发送到我的应用程序。
此外,我没有设法在 Messages.get() 中手动设置语言