Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 3227518
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 17, 20262026-05-17T16:35:02+00:00 2026-05-17T16:35:02+00:00

By local I mean both run in the same subnet, in most cases the

  • 0

By “local” I mean both run in the same subnet, in most cases the same host/VM, therefore some standard cross-network cross-platform RPC mechanisms like SOAP, XML-RPC, CORBA, etc. seem unnecessary.

The payload is mainly numerical (mostly tabulated) data with some small amount of meta data (for example available data services, data description/type, etc.) from C++ to Java, and console/scripted UI events from Java to C++. So the C++ program acts like the server and Java program the client.

I can enumerate several options (mostly from searching this wonderful site) but I’ve never used or seen one in a real-world heavy-duty situation, so I really hope someone who’s “been there, done that” can educate me about the pros and cons of the options.

  1. Shared memory
  2. Pipe, stdin/stdout, etc.
  3. Custom data structure over plain socket (probably UDP) (this question)
  4. Messages over plain socket, could be Google protocol buffer, Thrift, JSON, etc. (this answer, among others)
  5. Java RMI with C++ RMI server (this question)
  6. JNI (some answers in this question)

I’m pretty sure I’ve missed many options. Thank you all for your help!


Edited: I forgot to mention that performance is not a major concern as the data throughput is not expected to be huge (server is heavily database-bound), but it would be important to know if one option stands out to be much faster or slower. For example, I suppose nothing beats shared memory (if done right).

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-17T16:35:03+00:00Added an answer on May 17, 2026 at 4:35 pm

    Options 3 and 4 are used in real-world heavy-duty situations.

    Options 1,2,6 do not reach another host.

    Option 5 is probably too troublesome for the non-Java side.

    I’d go with Option 4, because Option 3 is too low-level (unless Option 4 turns out to be too slow). Choose your favourite cross-platform light-weight messaging protocol from the ones you enumerated. Those are all “battle-tested” and have libraries for most languages.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

Is it possible to use MySQL local? I mean NOT at a server. I
In this display.newText parameter, what does 16*2 mean? Thanks. local display_txt=display.newText(Wait,0,0,native.SystemFont,16*2)
For local testing (and learning), I wish to use x.com host name instead of
I want to get local date format. I mean I want that method (or
local invoiceData = [[I N V O I C E Invoice No. : ABCDEFG125469857
Using local variables seems advisable in a partial that could be used application-wide to
My local copy works fine, then I publish the website and I get this
My local repo contains the following commits: A ---- B ---- C ---- D
Are local object variables the variables that are used or initialized in a method,
I'm current on POS project. User require this application can work both online and

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.