c# - 如何像很多游戏一样快速发送信息?

标签 c# database tcp packet

我的想法就像 Counter Sstrike、WoW 等游戏所使用的方法。在 CS 中,您通常只有 50 ping,有什么方法可以以这种速度将信息发送到在线 MySQL 数据库?

目前我正在使用我的程序请求的在线 PHP 脚本,但这真的很慢,因为程序首先必须向它发送 header 和发布信息,然后将结果作为普通网页检索。

真的有更简单、更快捷的方法吗?我听说过 TCP/IP,这是我应该在这里使用的吗?是否有可能以比通过 PHP 脚本间接连接更快的方式连接到数据库?

最佳答案

TCP/IP 由三个协议(protocol)组成:

  1. TCP
  2. UDP
  3. ICMP

ICMP 是您在网络上 ping 另一台计算机时使用的。

像 CounterStrike 这样的游戏并不关心您之前做过什么。所以对完整性没有要求,能够重建你所做的(这就是为什么竞争对手必须录制他们正在做的事情)。这就是 UDP 的用途——不能保证数据已发送或已接收。这就是为什么延迟会成为这样一个问题的原因 - 你已经死了,只是你不知道而已。

TCP 保证数据的发送和接收。比 UDP 慢。

要获得快速连接,需要注意许多事项 - 更少的跃点等。

关于c# - 如何像很多游戏一样快速发送信息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2339375/

相关文章:

c# - MongoDB C# 驱动程序——创建索引

database - 使用持续部署或自动部署时,如何部署数据库?

sql - DB2:如何避免指定全限定标识符而只使用表名?

python - 在 Python/Mechanize 中从 ECONNRESET 恢复

c# - Amazon EC2 上的实时 TCP/IP 套接字服务器

c - 当另一个线程上发生某些事件时,如何退出 recv()/recvfrom()?

c# - 页面对象模型讨论

c# - 如何让 ConfigurationManager 从多个文件加载应用程序设置?

c# - 记录正确

asp.net - 如何在数据库中维护产品的 "specification-value(s)"关系