任何关于express.js和deepstream的教程都可以一起使用

任何关于express.js和deepstream的教程都可以一起使用,express,deepstream.io,Express,Deepstream.io,全部: 正如标题所问,我对Express和Deepstream还很陌生,我想知道如何让它们一起工作(或者它们必须分开工作?) 在深水导流段() 它只提供了如何连接前端和持久层,但没有太多关于如何与其他RESTAPI服务协同工作的内容(只有一小部分:,但没有太多的用户案例) 任何教程/示例(简单的案例,如授权聊天和朋友聊天列表) 感谢Deepstream当前可以通过http服务器初始化其websocket服务器。然而,在不久的将来,这种行为将被削弱,因为我们希望通过将其进一步移动到C++空间中来进

全部:

正如标题所问,我对Express和Deepstream还很陌生,我想知道如何让它们一起工作(或者它们必须分开工作?)

在深水导流段() 它只提供了如何连接前端和持久层,但没有太多关于如何与其他RESTAPI服务协同工作的内容(只有一小部分:,但没有太多的用户案例)

任何教程/示例(简单的案例,如授权聊天和朋友聊天列表)


感谢

Deepstream当前可以通过http服务器初始化其websocket服务器。然而,在不久的将来,这种行为将被削弱,因为我们希望通过将其进一步移动到C++空间中来进一步优化Debug。ItHyp服务器将能够以不可配置的代价处理更多的并发连接。 在大多数情况下,您可以使用deepstream客户端构建整个应用程序。数据同步、事件和RPC的结合意味着,只要您不考虑执行诸如二进制上传/传输之类的操作,您就可以从选择最佳工具来完成任务中获益

例如,当需要经典的请求/响应原子操作时,可以使用RPC:

  ds.rpc.provide( 'add-numbers', function( data, response ) {
    var result = data.reduce(function(previousValue, currentValue) {
      return previousValue + currentValue;
    })
    response.send( result )
  } )

  ds.rpc.make( 'add-numbers', [ 1, 3 ], function( err, data ) {
     console.log( 'result: ', data )
  } ) 
与express类似:

  app.post( '/add-two', function( req, res ) {
    var result = req.body.data.reduce(function(previousValue, currentValue) {
      return previousValue + currentValue;
    })
    res.send( result )
  } )
除此之外,deepstream还将为您管理服务发现和负载平衡等概念,甚至允许客户端在需要时成为端点

或使用事件:

ds.event.emit( 'score-changed', score++ )

ds.event.subscribe( 'score-changed', function( newScore ) {
    console.log( `The score changed on: ${newScore}` )
} )
或者对应用程序数据进行建模,并使用记录跨所有客户端对其进行同步:

var record = ds.record.getRecord( 'playerA' )
record.subscribe( 'score', function( newScore ) {
  console.log( `Player A score has changed to: ${newScore}` );
} );    
record.set( 'score', record.get('score')++ );
我希望这有帮助