MessagePack: fast cross-platform serializer and RPC - please share experience
Asked Answered
V

2

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

Villagomez answered 29/3, 2011 at 7:29 Comment(0)
V
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.

Villagomez answered 1/4, 2011 at 6:45 Comment(0)
C
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.

Component answered 29/3, 2011 at 7:29 Comment(10)
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: redmine.msgpack.org/projects/msgpack/wiki/QuickStartCVillagomez
@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.Component
pthreads are available on Visual Studio also. Just some time ago I had a project using them.Villagomez
@FractalizeR: 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.Component
@Component 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.Villagomez
@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.Component
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.Villagomez
@Component I wrote my own RPC library using ProtoStuff components: github.com/FractalizeR/jRapidRPCVillagomez
C++11 has concurrency better than using BoostAldridge
github.com/qehgt/myrpc - msgpack-rpc implementation that use boost library. So, it can be used on Win32 platform.Strongarm

© 2022 - 2024 — McMap. All rights reserved.