Avatar billede akj79 Nybegynder
05. januar 2001 - 11:43 Der er 2 kommentarer og
1 løsning

Java-applet kommunikation med C++ program på server.

Jeg har et C++ program (skrevet i Visual C++ 6.0) som ligger på en web-server.
En web-side på serveren indeholder en Java-applet, som jeg er ved at få til at kommunikere med C++ programmet.
Kommunikationen foregår gennem sockets.

C++ programmet accepterer et request fra appletten, men jeg mangler den korrekte metode til kommunikationen.
Er der nogen der har en opskrift på et C++ program der kan foretage en sådan kommunikation?
Avatar billede clone Nybegynder
07. januar 2001 - 21:59 #1
Du skal udforme dit C++ program som et CGI-script, og den HTTP server du benytter skal derfor tillade brugen af CGI-scripts. De data som sendes fra din Applet skal overføres til CGI-programmet via. \"standard in\" (stdin), hvilket næsten alle HTTP server gør (jeg bruger selv en Apache Web-server til Windows, og det virker uden problemer).
Følgende MEGET simple C++ program læser data fra stdin og sender et svar tilbage til Appleten (bemærk brugen af printf() til at sende svar):

// CGI-script
//
#include \"stdafx.h\"
#include <stdio.h>

int main(int argc, char* argv[])
{
  char buffer[256]=\"\";    // buffer containing input data.

  // Send script header (this is a must)
  printf(\"Content-type: text/html\\n\\n\");

  fgets(buffer, 256, stdin);    // read input stream.

  printf(\"Dette bliver sendt til din Java Applet gennem HTTP serveren.\\n\");

  return 0;
}


Mvh.
clone

Avatar billede akj79 Nybegynder
08. januar 2001 - 10:49 #2
Jeg prøver at uddybe mit spørgsmål:

Jeg har i mit C++ program oprettet en socket der lytter efter requests fra client programmet (java-appletten).
Når C++ programmet modtager et request, accepteres dette og der oprettes en ny socket (acceptedSocket) hvortil client\'ens socket bliver forbundet.
Jeg kan nu sende tekst til java-appletten ved at bruge \"Send\" (i Visual C++) - dette virker ok.

PROBLEMET ER NU: Jeg kan ikke finde ud af hvilken funktion jeg skal sende med (fra java-appletten), og hvad jeg skal modtage med (i C++ programmet).
Er der nogen der kan sige mig hvad der virker?
Avatar billede rasmusw Nybegynder
27. januar 2001 - 18:05 #3
hvis du kender send() er der heller ikke langt til recv() i C++ programmet.
jeg ved ikke hvordan det gøres i java, men der er da et java.io.socket eller java.net.socket bibliotek, som skulle indeholde alle de funktioner du er ude efter. og det er en hel del nemmere i java end i C++.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester