服务器上的脚本与客户端Javascript交互

时间:2013-01-30 17:42:22

标签: javascript ajax shell client-server

我目前有一个javascript库,它使用JSON文件以交互方式在屏幕上打印它们。 (::我们正在使用D3JS库)

当我们在客户端时,我们可以轻松地删除,编辑和创建一些节点,这些节点每5-10秒在JSON中更新一次。

问题来自两个主要事实:

  • 首先,如果我们在屏幕上已经显示的数据上做了一些事情,那么每x秒调用一次自动函数可能会导致数据损坏。
  • 然后项目已经完成,以便允许5个人一起互动。当它们出现在同一个会话中时,我们不能每5秒刷新一次,这会导致很多开销,并且不会避免数据损坏。

我们主要考虑过只使用javascript和一些AJAX的解决方案,但我们意识到应该重新考虑一个触发器,告知客户端数据不再正常。

我们目前正在考虑在服务器上打开一个脚本,以便在每个客户端上标识一个ID。

目标是检测在JSON文件上完成的修改(在服务器上)。但我们陷入困境的一点是:

1)是否有最好的脚本语言来交互服务器/网络? 2)我们应该使用哪种类型的东西来让客户更新他们的数据? (套接字吧?)

关于第二点,最简单的方法是调用JS函数,我们不知道shell代码给出的可能性......

很抱歉我们很开心,但可能还不够熟练解决这个问题。

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

您可以使用纯javascript和新的WebSocket功能来实现这一目标。

http://www.html5rocks.com/en/tutorials/websockets/basics/

编辑:

WebSocket是一种通过单个TCP连接提供全双工通信通道的Web技术。 WebSocket API由W3C标准化,WebSocket协议已由IETF标准化为RFC 6455。

WebSocket旨在在Web浏览器和Web服务器中实现,但任何客户端或服务器应用程序都可以使用它。 WebSocket协议是一种独立的基于TCP的协议。它与HTTP的唯一关系是它的握手被HTTP服务器解释为升级请求。[1] WebSocket协议使浏览器和网站之间可以进行更多交互,促进实时内容和实时游戏的创建。这可以通过为服务器提供标准化的方式来实现,而不需要客户端请求将内容发送到浏览器,并允许在保持连接打开的同时来回传递消息。