在线游戏中的 HTTP 与 TCP

Mar*_* Ou 0 tcp http

我想知道在线游戏的 HTTP 和 TCP 数据传输协议之间的区别。我听说很多人使用 TCP 或 UDP 在网络游戏的客户端和服务器之间传输数据。但是你能使用http吗?我知道http主要用于网页浏览,但是如果我可以设置Web服务器并让我的游戏应用程序使用GET和POST方法,我仍然可以来回发送数据,对吗?是不是这种沟通方式太慢或者没有必要?

关于 TCP 传输协议的一件事是,如果我要使用 TCP 编写一些游戏应用程序,数据通常是使用称为“套接字”的东西(如 Java 中的 Socket 类)传输的吗?那么UDP呢?

非常感谢!感谢任何答案!

Dav*_*rtz 5

HTTP 是 TCP 之上的附加层,它定义请求的外观、响应的外观以及如何跨请求关闭或维护连接。您可以使用它,也可以不使用它,具体取决于您实际需要运输的东西。如果您的游戏由一系列请求组成,每个请求都会得到回复,那么 HTTP 可能有意义。如果它更像是各个方向上未经请求的消息,那么让 HTTP 工作就像将方钉放入圆孔中一样。

大多数平台都提供套接字接口,允许您根据分配套接字时指定的协议使用 TCP 或 UDP。对于不同的协议,一些更高级别的 API 看起来完全不同。