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

使用Angular.js和Node.js构建实时应用程序的更好的方法是哪种?

袁康裕
2023-03-14
问题内容

我是Angular.js和Node.js的初学者,但是我已经意识到,有两种可能的方法可以制作实时应用程序。第一种是使用Socket.io,另一种是将RESTful与setInterval()函数一起用作客户端解决方案。我使用这两种选择构建了我的应用程序,但我不知道为什么最好使用一种替代另一种。

我的控制器使用Angular.js(可替代Socket.io):

function MyController($scope, socket) {

  socket.on('test', function(data){
    $scope.data = data;
    console.log($scope.data);
  });

}

我的控制器使用Angular.js(RESTful替代):

function MyController($scope, $http) {

  setInterval(function() {
    $http.get('/test.json')
         .success(function(data, status, headers, config) {
           $scope.data = data;
           console.log($scope.data);
         });
  }, 1000);

}

这些做事方式之间有什么区别?提前致谢!


问题答案:

如果您想要一个完全实时的Web应用程序,那么套接字是您的最佳选择。Socket.io或SockJS都是非常好的客户端。但是,当不支持Web套接字时,它们可以正常降级,但是,您可以选择要使用的传输方式。

您必须构建数据订阅服务,才能在所有用户之间传播更改。Tower.js和Meteor都使用反应式方法,并且在模型更改时使用事件侦听器。根据您想要此功能的复杂程度或强大程度,它们将是可用的不同实现。

当尝试在一次连接的许多用户之间同步客户端和服务器端数据时,它的确变得越来越复杂。我建议您看一下这两个框架,看看它们是如何工作的,并可能复制其中的一部分或全部功能。



 类似资料:
  • 问题内容: 我将尝试第一个AngularJS项目,并且在后端使用Node.js是有意义的,尽管这意味着同时从头开始学习AngularJS和Node.js。 我想要弄清楚的第一件事是一个好的文件结构。到目前为止,我的纯HTML / CSS模板具有以下目录结构… (_site是PSD等的工作目录。) 我发现一个Node.js的一个例子的目录结构/ AngularJS应用程式这里 .... …表示以下目

  • 在SpringBoot项目中,谁使用maven。找不到类 我绒球的一部分 项目结构 当我启动应用程序时,我得到了这个错误 错误:无法找到或加载主类com.acme.pay.ms.BillingServiceApplication导致:java.lang.ClassNotFoundExc0019:com.acme.pay.ms.BillingServiceApplication命令执行失败。 无法执

  • 问题内容: 对于同时使用Spring和Hibernate,我需要快速入门,并且正在寻找一些示例代码来进行修改和扩展。Struts2和Spring Security集成的加分点。 问题答案: Struts2网站上有一个示例项目,其中包括Spring,Hibernate和Struts2,这些项目似乎具有我想要的大部分功能。它包括一个基本的JPA配置,但不提供DAO类。 通用DAO模式被记录在Hiber

  • 我找不到任何直接回答这个问题的来源: Android架构组件是否遵循MVVM架构(如果实施得当)?如果是,应用程序的哪个部分(activity/片段、ViewModel、存储库、数据库、web服务)与“模型”、“视图”和“ViewModel”相关?ViewModel类显然属于ViewModel层,但其余的呢?

  • 问题内容: 假设我有一个实用程序类DateUtil(请参见下文)。若要使用此方法,调用者方法将使用DateUtils.getDateAsString(aDate)。删除static修饰符并使DateUtil成为spring bean(请参见DateUtilsBean)并将其注入到调用类中还是将其保持原样会更好吗? 春豆版本 问题答案: 我不这么认为。DateUtils类听起来像是一个纯实用程序类,

  • 请帮我解决Spring和Eclipse的问题。我试过解决其他一些问题,但这个问题很奇怪,我解决不了。 我试图使用Spring和Eclipse构建一个web应用程序,但它在pom.xml文件上显示了一个错误。我已经附加了pom.xml文件。