2

我正在寻找一种在node.js中实现双向 RPC 的方法(意味着客户端和服务器都提供远程可调用过程,最好像 json-rpc)。它应该可以在 socket.io 和客户端的 TCP/IP 套接字之上使用。我正准备将nowjs用于 websocket,并为“普通”套接字提供单独的 API。

现在我刚刚发现dnode声称可以与两者一起使用。“它可以在网络套接字上工作,甚至可以在带有 socket.io 的浏览器中工作。”

我需要将JSON 对象(包含字符串)传递给对方。客户端将使用JavaScript (Browser)、JavaScript (Appcelerator Titanium)、C#Java (Android) 编写,但只有 Java 的实现。我阅读了协议,我认为实现起来并不容易。

建立连接后还有一个方法名称交换,这在我的应用程序中将是一个相当大的开销,我不需要它,因为我知道我在另一端实现了什么(它不是公共 api)。

有人有经验或知道替代方案吗?我不确定这是否适合我的目的,我需要实现CRUDPUB/SUB

4

1 回答 1

5

使用socket.io,它支持可以存储内存Redis Pub/Sub实现的房间。您还可以命名您的套接字并通过事件提供CRUD 。

var io = require('socket.io').listen(80);

var someResource = io
  .of('/someResource')
  .on('create', function (socket) {
    createSomeResource()
  })
  .on('read', function(socket) {
    readSomeResource(id, function(){
      io.sockets.in('roomBasedOnSessionId').emit('data', {my:'json'})
    })
  })

这是您需要的一些主题 的精彩演练,包括对套接字和会话共享的引用。http://www.danielbaulig.de/socket-ioexpress/

于 2011-11-14T09:02:12.203 回答