套接字交互(java)



我正在开发实时多人游戏,我想在客户端和服务器套接字之间创建快速和优化的接口。

客户端将通过套接字向服务器发送下一个信息:

  1. 登录、密码等授权信息;
  2. 简单命令,如:

    • moveToPoint(坐标)
    • shootInDirection(坐标)
    • dropItem(项目,坐标)等…

这些命令(请求)必须由服务器处理并传输到其他客户端;

主要问题是:如何设计客户端将以高频率发送的命令结构?(json,字符串或数字)我认为,有两个因素会影响速度和性能:

  • 命令长度(更短->更快)
  • 解析复杂度

    我应该如何解析这些命令?(一个Java库或简单的分割)?

它是如何在流行的多人游戏中执行的(如反恐精英)

你能给我一些关于这个话题的建议或文章吗?

就客户端/服务器通信而言,我建议您看一下Netty,它似乎符合您的要求。

  • 完整的SSL/TLS支持
  • 为你处理线程池之类的东西
  • 低资源消耗
  • …还有更多

对于初学者,我建议查看示例,看看如何做诸如发送字符串之类的事情,尽管在您的情况下,发送pojo可能是一个更好的主意,正如本文所解释的,pojo是 p lain Old Java O对象,可能包含位置字段,等等。

最新更新