Avatar billede Slettet bruger
26. august 2001 - 13:12 Der er 10 kommentarer og
1 løsning

Realtidprorammering

Hej

Jeg skal igang med realtidsprogrmmering og skal finde ud af hvordan man programmerer client server baseret i java. Hele humlen ligger i at serveren skal levere data til appletter på client-siden og ved ikke rigtig hvordan jeg skal gribe det hele an. Er der nogen derude som har nogle gode tutorials eller gode råd/programstumper til inspiration, eller lignende

På forhånd tak
Avatar billede mickni33 Nybegynder
26. august 2001 - 13:50 #1
Dette er et lille program, men der er hul igennem socketen og det er det vigtiste

programmet overfører en streng \"minfil\" fra clienten til serveren som udskriver den på serversiden
bagefter sender den en ændret streng tilbage til klienten som udskriver den på client siden
Meget simpel herfra kan du så bygge videre



import java.io.*;
import java.net.*;
import java.util.*;
import java.lang.*;

public class Server{
    public static void main(String args[]){
    ServerSocket ser=null;
    Socket soc=null;
    String nyString;
    String str=null;
        try{
        ser=new ServerSocket(33333);
        soc=ser.accept();
            InputStream o=soc.getInputStream();
            ObjectInput s=new ObjectInputStream(o);
            str=(String) s.readObject();
               
               
   
        OutputStream op=soc.getOutputStream();
        ObjectOutput oo=new ObjectOutputStream(op);
        System.out.println(str);
        oo.writeObject(str);
        oo.flush();
        oo.close();
       
        }
            catch(Exception e){
            System.out.println(e.getMessage());
            System.out.println(\"ERROR DURIN SRIALIZATION\");
            System.exit(1);
            }
    }
}



//********HER ER KLIENTEN***************


import java.io.*;
import java.net.*;
import java.util.*;

public class Client{
    public static void main(String args[]){
    try{
    String str=\"minfil\";
    String nyString;
    Socket soc=new Socket(InetAddress.getLocalHost(),33333);
        OutputStream o=soc.getOutputStream();
        ObjectOutput s=new ObjectOutputStream(o);
        s.writeObject(str);
    InputStream is=soc.getInputStream();
    ObjectInput oi=new ObjectInputStream(is);
    nyString=(String) oi.readObject();
    System.out.println(nyString);
   
    s.flush();
    s.close();
    }
        catch(Exception e){
        System.out.println(e.getMessage());
        System.out.println(\"Error UNDER SERIALIZATION\");
        System.exit(1);
        }
    }
}

Avatar billede mickni33 Nybegynder
26. august 2001 - 13:52 #2
sorry den sender bare den samme streng tilbage igen den er ikke ændret (det var version 2.0)  :)
Avatar billede Slettet bruger
26. august 2001 - 14:11 #3
den skal gå den anden vej rundt. Forestil dig at appletten fx skal vise aktiekurser over en given aktie. hver gang kursen ændrer sig, så skal serveren fortælle appletten at kursen har ændret sig.

Men som sagt er jeg ret grøn på dette område, så du må meget gerne sende noget litteratur på dette område. Du kan eventuelt sende det til mig på kevin@lystig.dk , det lyder til at du har prøvet det før :)
Avatar billede mickni33 Nybegynder
26. august 2001 - 14:17 #4
Jeg har ikke noget litt. fra nettet kun fra bøger.
Men hvis den skal gå den anden vej så bytter du bare om på koden. men koden ser sådan ud når man skal arbejde med client server. Prøv dig frem det er skide skægt :)
Avatar billede Slettet bruger
26. august 2001 - 14:33 #5
Det tror jeg gerne, når man har fået overblikket :)
hvis du har bøger, kan du så ikke give mig et godt råd til noget begynder litteratur så?

hvordan skal jeg kompilere ovenstående kode? skal de ind i hver sin klasse, uploades eller hvorledes? ICQ er måske nemmere...mit nr er 40783539 :)
Avatar billede mickni33 Nybegynder
26. august 2001 - 15:19 #6
jeg har ikke icq men de skal i hver sin klasse.
og compileres hver for sig bedst i dos eller linux
men det hele skal ligge i samme mappe

i dos gør man compiler først
c:> javac Server.java
bagefter kører du
c:> java Server

så kører serveren

så åbner du et andet dos vindue så der er to åbne samtidigt

så skriverdu og
compiler
c:> javac Client.java
bagefter kører du
c:> java Client

så skulle den gerne skrive \"minfil\" på begge åbne vinduer.


finder lige noget tutorial på nettet
tager fem minutter
Avatar billede Slettet bruger
26. august 2001 - 15:49 #8
Så er det derfor jeg ikke kan hitte ud af det, jeg forsøger at kompilere skidtet i j++. nå men det finder jeg jo nok ud af, mangler bare lidt om selve applets, har du en god bog du vil anbefale?
Avatar billede mickni33 Nybegynder
26. august 2001 - 16:03 #9
java for students
Bell&Pair

det er kun om appletter
Avatar billede Slettet bruger
26. august 2001 - 16:56 #10
her er der lidt interessant at se på :)

http://www.codeguru.com/java/tij/tij_c.shtml
Avatar billede hy Nybegynder
25. januar 2002 - 22:56 #11
Hej Kevin
Hvor langt er du kommet med dit projekt, jeg står og skal bruge noget tilsvarende, og er ved at køre helt fast har du evt. nogle gode råd ???

hyde
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