Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

We currently have a C++ socket server used by a java client. All of the socket code in both C++ and java is stick-built at a low-level with messages passed via JSON strings.

Are there cots packages or better techniques commonly used in this situation to reduce the cost of future development and maintenance?

share|improve this question
up vote 3 down vote accepted

Seems your only issue is the client communication protocol - which I assume is a custom thing. This isn't necessarily a problem. RPC mechanisms like Google's Protocol Buffers requires you to define your packet contents anyway, but there are loads of existing communications systems that might help you.

Web services are good for interop, as they're mostly standard (just be aware that WCF ones do not work fully with Java or PHP web services), but they're relatively slow. Thrift is a souped up RPC, or ZeroMQ is a good messaging system. Any of these might help take the comms factor out of your problem.

share|improve this answer
I've been investigating thrift, but I don't really like having to use their socket library. I like the looks of Protocol Buffers. I need to investigate more, but it might be the perfect solution. – John Gordon Jun 29 '12 at 15:06

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.