当前位置: 首页 > 面试题库 >

在线游戏,或者比ajax更快的用于发送/接收数据的东西

宋铭
2023-03-14
问题内容

我正在尽我所能。

到目前为止,我已经完成的工作:我将使用setTimeout或使用JavaScript运行游戏setInterval。它不是闪光灯或任何特殊的东西。到目前为止,我所做的就像一次测试运行(以便您可以更好地理解),它几乎是循环Ajax,以保持将请求发送到PHP页面的速度尽可能快,然后PHP
$_GET从请求中读取URL,然后PHP使用来编辑一个名为p1.html的文件$_GET,该文件只是播放器1的x和y轴坐标。因此,在播放器2的浏览器中,它几乎执行了我上面所说的操作,现在,当它接收到Ajax请求时,它将接收播放器1的坐标。因此JavaScript会执行它的操作,并将播放器1移到播放器2的浏览器上。那就是我已经做的自己

话虽如此,这是我到目前为止所做的,但是如果我想像在线格斗游戏或实时侧滚动游戏那样,这还不够快。这就是我需要帮助的地方。我在w3schools.com上了解很多东西,但我只是不知道如何完成这项工作。可能就是这样。我只需要浏览器1,就可以将数据发送到浏览器2,实际上是这样的“
1,100,200”或更久一点,然后让浏览器2将数据作为JavaScript中的变量(诸如x="received data";)读取,仅此而已。JavaScript将完成其余的工作。

我确定我可以对自己需要的所有东西进行编程,但是对于每秒从A点到B点发送数据(例如每秒50次),我对此一无所知。甚至没有名字。最后,URL和示例将非常好(更清楚)。特别是如果它已经在w3schools.com上(包含示例),而我只是错过了。


问题答案:

答案很简单:使用websockets。它们允许在两个方向上立即推送数据,以实现看似瞬时的交互。它们消除了从缓慢而繁琐的客户端(包括服务器)中提取数据的需求。请注意,这是我最喜欢的游戏中用于推送通知的解决方案。

您可能对PHP上的websockets上的介绍感兴趣。但是请注意,对于长连接处理和实时游戏,PHP实际上并不是最有效的解决方案(您可能更喜欢Go,node.js,java等)。



 类似资料:
  • 问题内容: 因此,我正在尝试制作一个非常基本的node.js服务器,该服务器接受字符串请求,从数组中随机选择一个,然后返回所选的字符串。不幸的是,我遇到了一些问题。 这是前端: 这应该将请求发送到server.js: 很明显,这里有几处错误: 我感觉到我“连接”这两个文件的方式在方法和使用中都无法正确发送字符串到前端。 我对如何在localhost上调用此页面感到有些困惑。前端的名称为index.

  • 因此,我试图发送一个数据包,但我不断得到这个错误 任何帮助将是真棒! 谢谢! 错误消息:不允许发送或接收数据的请求,因为套接字未连接,并且(使用sendto调用在数据报套接字上发送时)未提供地址 代码: }

  • 我试着做一个简单的服务器-客户机套接字通信,但服务器似乎无法正常工作。无论何时发送或接收,我都会收到此错误: 非插座上的插座操作:非插座上的插座操作 奇怪的是,这只会在服务器发送时出现。客户似乎还可以:

  • 因此,我正在用Java编写一个程序,在DatagramSocket和DataGramPacket的帮助下发送和接收数据。问题是,当我发送数据/接收数据时,数据在我发送的程序中也会有所不同,但只是在某些情况下,比如: 但有时会起作用,比如:

  • 问题内容: 使用Ajax,我试图仅将Json数据发送到节点服务器,不进行任何处理,仅在发送时发出警报,在接收到时发出警报: 这是我的html5:具有onclick函数的简单按钮,可触发该函数使用ajax调用 这是节点服务器的一部分:用于创建服务器并侦听某些操作 没有警报被触发,所以我不认为ajax正在尝试发送信息。 问题答案: 在服务器端尝试此操作: 在客户端: 希望这对你有用