套接字交互(java)

Sockets interaction (java)

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

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

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

    • 移动到点(坐标)
    • 射向方向(坐标)
    • dropItem(item,coords) 等...

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

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

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

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

关于client/server的交流,推荐看一下Netty,好像能满足你的要求

  • 它有完整的SSL/TLS支持
  • 为您处理诸如线程池之类的事情
  • 低资源消耗
  • ...还有更多

对于初学者,我建议查看 examples to see how to do things such as sending strings, though in your case it might be a better idea to send POJOs,正如文章所解释的那样 Plain Old Java O对象,可能包含位置等字段