java j2se met win32 c++ programma laten commniceren.

Pagina: 1
Acties:

  • leuk_he
  • Registratie: Augustus 2000
  • Laatst online: 06-05 23:54

leuk_he

1. Controleer de kabel!

Topicstarter
Ik wil eej java stand alone programma laten communiceren met een win32 C++ programma. Beide programma moeten het contact kunnen initeren (ofwel: win32 programma "start opdracht", en java programma moet terug geven "opdracht klaar"). UIteraard kan ik in C++ een server bouwen en deze op een well-known socket laten luisteren en ditzelfde ook in java, maar er is vast een of andere standaard voor die beide ondersteunen. Het zoekt alleen een beetje moeilijk als je niet weet hoe dit heet.

Even nog een paar requirements:
Beide programma's moeten onafhankelijk draaien. (waarschijnlijk krijgen ze elke een aparte threath om met elkaar te communiceren)
Beide programma's moeten het contact kunnen initieren.
Het is mogelijk dat 1 van de programma's niet draait, dan moet de boel niet gaan hangen(waarschijnlijk dus gewoon een timeout). Beide programma's draaien op 1 pc.
Simpel (rpc calls tussen beide programma's?)
J2se 1.4 (1.5 ?)
C++ MVC (visual studio 2003)
ik ben goed bekend met C++, en java ben ik aan het leren.

Wat voor interface (hoe heet dit) kan ik verder onderzoeken?

Need more data. We want your specs. Ik ben ook maar dom. anders: forum, ff reggen, ff topic maken
En als je een oplossing hebt gevonden laat het ook ujb ff in dit topic horen.


  • MrBucket
  • Registratie: Juli 2003
  • Laatst online: 29-10-2022
JNI.
http://java.sun.com/docs/books/tutorial/native1.1/

--edit--
Hmm, misschien toch niet helemaal *de* oplossing, maar het kan een goed begin zijn.

[ Voor 39% gewijzigd door MrBucket op 20-04-2005 12:34 ]


  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024

Alarmnummer

-= Tja =-

RMI over IIOP voor lichte toepassingen.
Corba voor zwaardere.

[ Voor 57% gewijzigd door Alarmnummer op 20-04-2005 12:35 ]


  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024

Alarmnummer

-= Tja =-

MrBucket schreef op woensdag 20 april 2005 @ 12:32:
JNI.
http://java.sun.com/docs/books/tutorial/native1.1/

--edit--
Hmm, misschien toch niet helemaal *de* oplossing, maar het kan een goed begin zijn.
JNI is geloof ik niet voor netwerk communicatie, maar alleen voor communicatie in 1 applicatie tussen een java en een native component.

  • MrBucket
  • Registratie: Juli 2003
  • Laatst online: 29-10-2022
Alarmnummer schreef op woensdag 20 april 2005 @ 12:36:
[...]


JNI is geloof ik niet voor netwerk communicatie, maar alleen voor communicatie in 1 applicatie tussen een java en een native component.
Klopt, ik begreep dit ook pas later. Niettemin kan het handig zijn om de java-applicatie een klein stukje C++-code te geven, die de interproces-communicatie regelt (misschien via DCOM, LRPC, shared memory, etc.) of de C++-app een klein stukje java-code te geven, zodat er via RMI kan worden gecommuniceerd.

  • bigbeng
  • Registratie: Augustus 2000
  • Laatst online: 26-11-2021
Ik heb zelf wel eens gebruik gemaakt van de Java Com Bridge van Dan Adler. Dit werkt in elk geval goed met applicaties die op dezelfde machine draaien. Het stuk wat ik gebouwd was Java code dat gebruikt maakt van third-party Com objecten om bepaalde transacties te kunnen doen. Als ik mij niet vergis kun je met dezelfde technologie ook een Java applicatie via COM benaderbaar maken.
Kijk anders hier eens.

  • leuk_he
  • Registratie: Augustus 2000
  • Laatst online: 06-05 23:54

leuk_he

1. Controleer de kabel!

Topicstarter
rmi /iiop & java com bridge is denk ik de richting die ik verder ga bekijken. JNI was ik me van bewust, maar lost niet mijn probleem voor inter proces communicatie op, dan mag ik dat ook nog eens zelf implementeren.

Need more data. We want your specs. Ik ben ook maar dom. anders: forum, ff reggen, ff topic maken
En als je een oplossing hebt gevonden laat het ook ujb ff in dit topic horen.


  • Varienaja
  • Registratie: Februari 2001
  • Laatst online: 14-06-2025

Varienaja

Wie dit leest is gek.

Ik heb nu zelf een java-programma gemaakt dat communiceert met een Delphi-programma door middel van xml-berichten. Het Delphi-programma is de (web)server, da's wel handig want dan kan je gewoon met je Internet Explorer debuggen, mocht dat nodig zijn (gewoon een kwestie van de juiste URL's intikken).

Als de communicatie ook de andere kant op moet kunnen, zou ik ervoor kiezen om ook in het Java-programma een server in te bouwen. Dat schrijf je zelf al in je post, en dat lijkt mij ook de cleanste oplossing. Je kunt dan ook de programma's op verschillende machine's draaien (altijd leuk).

Siditamentis astuentis pactum.


  • farlane
  • Registratie: Maart 2000
  • Laatst online: 07-05 10:04
Als ik die docs zo bekijk is dat lichtgewichte ook maar relatief. ;)

Somniferous whisperings of scarlet fields. Sleep calling me and in my dreams i wander. My reality is abandoned (I traverse afar). Not a care if I never everwake.


  • Salandur
  • Registratie: Mei 2003
  • Laatst online: 15:30

Salandur

Software Engineer

RMI werkt alleen maar voor Java en dus niet voor C++. Server/client is eigenlijk de enige oplossing.

Assumptions are the mother of all fuck ups | iRacing Profiel


  • Soultaker
  • Registratie: September 2000
  • Laatst online: 02-05 01:32
CORBA lijkt me hier bij uitstek geschikt voor. Als ik me niet vergis is in de Java 1.5 versie van de CORBA-implementatie de boel wat versimpelt, wat handig zou kunnen zijn.

  • Salandur
  • Registratie: Mei 2003
  • Laatst online: 15:30

Salandur

Software Engineer

Soultaker schreef op woensdag 20 april 2005 @ 16:30:
CORBA lijkt me hier bij uitstek geschikt voor. Als ik me niet vergis is in de Java 1.5 versie van de CORBA-implementatie de boel wat versimpelt, wat handig zou kunnen zijn.
Volgens mij is CORBA wat te zwaar voor het gebruik dat de TS wenst. CORBA is eigenlijk bedoeld als je een geinstantieert object van de ene 'server' naar een andere 'server' wilt verplaatsen zodat het gebruikt kan worden. De TS wilt eigenlijk alleen de opdracht 'start opdracht' en 'opdracht klaar' versturen en dan is het simpeler als je een simpele socket-connectie gebruikt om daarover wat tekst te sturen.

Assumptions are the mother of all fuck ups | iRacing Profiel


  • MSalters
  • Registratie: Juni 2001
  • Laatst online: 09-04 22:08
De originele oplossing met sockets leek toch erg simpel. Als je niet meer dan 256 commando's hebt zonder data is het zelfs beschamend simpel.

Man hopes. Genius creates. Ralph Waldo Emerson
Never worry about theory as long as the machinery does what it's supposed to do. R. A. Heinlein

Pagina: 1