TCP套接字+ socket.io双向(JSON-)RPC:dnode?

Eli*_*sdx 2 rpc json-rpc node.js socket.io dnode

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

现在我发现dnode声称可以同时使用它们."它适用于网络套接字,甚至可以在带有socket.io的浏览器中使用."

我需要将JSON对象(包含字符串)传递给彼此.客户端将使用JavaScript(浏览器),JavaScript(Appcelerator Titanium),C#Java(Android)编写,但只有Java的实现.我阅读了协议,我认为实施并不容易.

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

有人有经验或知道其他选择吗?我不确定这是否适合我的目的,我需要实现CRUDPUB/SUB.

Chr*_*rdi 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'})
    })
  })
Run Code Online (Sandbox Code Playgroud)

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