13

Looking for some fast, simple and stable RPC library I stumbled upon MessagePack project which seems to be very good. It is also under active development.

If you used it in any way, could you please share your experience?

P.S. I think this question should be community wiki

Vladislav Rastrusny
  • 29,378
  • 23
  • 95
  • 156

2 Answers2

5

Well, after some time I found that MessagePack is not well-documented (there was even non-working tutorial in Wiki for Java), there are like 7 outstanding bugs several months old without any replies. Code even is not JavaDoc'ed so that you can take and learn it quickly...

But it seems developer activity there is quite high despite of some outstanding pull requests from the community, that are several months old.

So, well, if GPL suits you, go for ICE. If not... don't know yet. Still looking.

Vladislav Rastrusny
  • 29,378
  • 23
  • 95
  • 156
4

I'm also looking into a fast, cross-platform, cross-language, non-GPL-licensed RPC library.

From looking at the C++ source of MessagePack it seems that it doesn't work on Win32 though, which is a requirement for myself.

Except for that that single item it is on top of my list of serialization/RPC libraries.

dalle
  • 18,057
  • 5
  • 57
  • 81
  • 1
    Why doesn't it work on Win32? In the example they compile it using g++, but I think Visual Studio will do also. Here is a Windows source: http://redmine.msgpack.org/projects/msgpack/wiki/QuickStartC – Vladislav Rastrusny Mar 29 '11 at 13:57
  • @FractalizeR: I was looking at the RPC code and it was using pthreads includes and others which are not provided with Visual Studio. I'll recheck. – dalle Mar 29 '11 at 14:07
  • pthreads are available on Visual Studio also. Just some time ago I had a project using them. – Vladislav Rastrusny Mar 29 '11 at 14:11
  • @FractalizeR: http://sourceware.org/pthreads-win32/ seems like a good source. But I think it would be better if boost.threads would be used instead. I don't like to spread FUD, but the RPC code use sockets directly, which behaves a bit differently on Linux and Win32. – dalle Mar 29 '11 at 14:23
  • @dalle agree. Native implementations are better, but I guess just a lack of development power here takes place. It's easier to maintain one common code branch than to split and maintain several similiar ones. – Vladislav Rastrusny Mar 29 '11 at 14:27
  • 1
    @FractalizeR: Yes I agree, but for C++ the use of Boost libraries are very common. Boost have abstracted both threads and sockets on all major platforms. – dalle Mar 29 '11 at 14:37
  • I see. Thanks. If you are familiar with it, you can push your patches on github because it seems, MsgBox has a very active developer community. – Vladislav Rastrusny Mar 29 '11 at 14:43
  • @dalle I wrote my own RPC library using ProtoStuff components: https://github.com/FractalizeR/jRapidRPC – Vladislav Rastrusny Apr 13 '11 at 14:29
  • C++11 has concurrency better than using Boost – Damian Jan 14 '12 at 21:35
  • https://github.com/qehgt/myrpc - msgpack-rpc implementation that use boost library. So, it can be used on Win32 platform. – qehgt Apr 03 '12 at 17:44