dnode - language agnostic asynchronous object-oriented RPC system built on socket.io
dnode, a mindbendingly simple library written by SubStack, builds on top of socket.io to enable language agnostic asynchronous messaging by exposing methods and making them transparently callable between nodes.
This approach allows for bidirectional, asynchronous, and symmetric communication between dnodes that can be implemented in: Node.js, Browser-side JavaScript, Ruby, Perl, Java, and soon to be Python.
This means you can start up a dnode server or client anywhere, in any language, and start quickly communicating asynchronously between each node.
Here is an example of a simple dnode ruby server / client
dnode server:
require ‘rubygems’
require ‘dnode’
DNode.new({
:f => proc { |x,cb| cb.call(x + 1337) }
}).listen(5050)
dnode client:
require ‘rubygems’
require ‘dnode’
DNode.new({}).connect(5050) do |remote|
remote.f(30000, proc { |x| puts “x=<#{x}>” })
end
http://github.com/substack/dnode
http://github.com/substack/dnode-perl
http://github.com/substack/dnode-ruby
http://github.com/aslakhellesoy/dnode-java
http://github.com/jesusabdullah/dnode-python
(Source: thechangelog)
-
wactbprot reblogged this from thechangelog
-
mattbindoff reblogged this from thechangelog and added:
//github.com/substack/dnode-perl //github.com/substack/dnode-ruby //github.com/aslakhellesoy/dnode-java...
-
jmelgoza liked this
-
thechangelog posted this