not everyone agrees.
http://groups.google.com/group/msgpack/browse_thread/thread/db5e20aa64f3020d?pli=1
and from this group in August:
On Aug 5, 12:31 pm, David Symonds <dsymo...@golang.org> wrote:
> On Fri, Aug 5, 2011 at 10:13 PM, André Moraes <andr...@gmail.com> wrote:
> > Are any know drawbacks when using MessagePack RPC?
>
> MessagePack is dynamically typed, schemaless, has patchy documentation
> and highly uneven implementation completeness across languages. If it
> works for you, great, but you might want to do some thorough research
> first.
>
> Dave.
Also it have messagepack, protocolbuffers, json, thrift (i guess).
With that you can communicate with anything in the world.
The easiest way to send messages across a communication media
(network, pipes, sockets)
is to prefix every message with a integer with the size of the message
and make the system
half-duplex.
You can also use ZMQ (bindings for almost every language today).
coordinate messages with zmq
encode messages with protocolbuff, message pack, json, yaml, etc...
--
André Moraes
http://andredevchannel.blogspot.com/
In that case I dropped the message-pack in favor of protocol-buffers.
And when I need something very easy to parse just use Json.
Also somebody could use Bson as a encoding for messages, Gustavo have
one very good implementation.
Just search for "mgo golang"
Thanks everybody for the answers ; I know we can do this by already
existing methods, but I spoke about a ready to use (auto-)standardized
solution for both sides (java and Go and maybe other languages),
efficient, simple...like channels :)
Do you mean an analogue of JNI for Go? I find it hard to imagine
doing that without JVM modifications.
The various RPC mechanisms suggested here are good enough for all the
examples I can think of. Can you provide an example where such an
interface makes things inefficient?
Salman
Inter process communication isn't that bad unless you are copying lots
and lots of memory every second.
yes kyle i thought of kind of netchan in local. on one hand (go) we would use locchan (my netchan local), and on the other hand (java) an actor (object with thread) with a locchan-like api.regards
Well, in that case you maybe out of luck.
Just for curiosity, why do you want to process h264 on Go?
Most encoding libraries will work with that more easily and even use
hardware aceleration.
Shared memory with some cross-process synchronization?
Will probably have to roll your own JNI shared memory access class.
But (as always) test a few candidate methods for throughput and
latency.
steve d.
I ask because we are using it for our distributed game server and may have to re-evaluate that decision.
Could you please clarify "going away" for me? Ie. How far away. Will the old/netchan be maintained? Will it be excluded form the mercurial repo, and when/which version of go do you expect to be the one that breaks it un-gofix-ably.
I ask because we are using it for our distributed game server and may have to re-evaluate that decision.