我正在寻找一种在 node.js 中实现双向RPC的方法(意味着客户端和服务器都提供远程可调用的过程,最好像json-rpc)。它应该可以在socket.io和客户端的TCP / IP套接字之上使用。我正准备将 nowjs 用于websockets并为“普通”套接字提供单独的API。
现在我刚刚找到声称可以同时使用的 dnode 。 “它适用于网络套接字,甚至可以在带有socket.io的浏览器中使用。”
我需要将 JSON对象(包含字符串)传递给彼此。客户端将使用 JavaScript (浏览器),JavaScript(Appcelerator Titanium), C#以及 Java (Android)编写,但只有Java的实现。我阅读了protocol,我认为实施起来并不容易。
在建立连接之后还有一个方法名称交换,这在我的应用程序中是一个相当大的开销,我不需要它,因为我知道我在另一方面实现了什么(它不是公共API)。
有人有经验或有其他选择吗?我不确定这是否适合我的目的,我需要实施 CRUD 和 PUB / SUB
答案 0 :(得分: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/