/ Forside / Teknologi / Udvikling / Java / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java
#NavnPoint
molokyle 3688
Klaudi 855
strarup 740
Forvirret 660
gøgeungen 500
Teil 373
Stouenberg 360
vnc 360
pmbruun 341
10  mccracken 320
Applets og socketkommunikaton
Fra : Iwan


Dato : 21-01-02 00:11

Hej Alle!!!
Jeg er ved at leve en applet der skal kontakte min app.-server og udfører et
sql-statement (via MySQL) og returnere det til appleten (det viker mellem to
java programmer), men det er mine første spæde skridt med Applets :)

Appleten ses nedenstående, øvrige klasser er ikke medtaget hvad gør jeg
galt? Den skriver den første sætning i paint() og ikke mere.
Er der nogle der har links til en begynder i applets?

class TestKlient extends Applet
{
ServerMessage svar;

public void init()
{
ServerMessage beskedUd = new ServerMessage(null, "rw", "rw", "Kunder",
"getKunder");
Klient kl = new Klient();
svar = kl.connect("192.168.0.1", 50000, beskedUd);
}

public void paint(Graphics g)
{
g.drawString("Besked sendes til serveren", 20,20);
g.drawString("Modtaget svar fra server \n" + svar.toString(), 30, 20);
g.drawString(svar.getReturnValueXML(), 40, 20);
}
}

På forhånd tak

Jens




 
 
Lars Hansen (21-01-2002)
Kommentar
Fra : Lars Hansen


Dato : 21-01-02 01:59

Har du kigget i din javakonsol?

Det kan godt være at du får en nullpointer exception hvis det ikke er gået
godt
at kontakte din server.

/Lars Hansen
"Iwan" <no@spam.com> wrote in message
news:3c4b50bc$0$95361$edfadb0f@dspool01.news.tele.dk...
> Hej Alle!!!
> Jeg er ved at leve en applet der skal kontakte min app.-server og udfører
et
> sql-statement (via MySQL) og returnere det til appleten (det viker mellem
to
> java programmer), men det er mine første spæde skridt med Applets :)
>
> Appleten ses nedenstående, øvrige klasser er ikke medtaget hvad gør jeg
> galt? Den skriver den første sætning i paint() og ikke mere.
> Er der nogle der har links til en begynder i applets?
>
> class TestKlient extends Applet
> {
> ServerMessage svar;
>
> public void init()
> {
> ServerMessage beskedUd = new ServerMessage(null, "rw", "rw", "Kunder",
> "getKunder");
> Klient kl = new Klient();
> svar = kl.connect("192.168.0.1", 50000, beskedUd);
> }
>
> public void paint(Graphics g)
> {
> g.drawString("Besked sendes til serveren", 20,20);
> g.drawString("Modtaget svar fra server \n" + svar.toString(), 30, 20);
> g.drawString(svar.getReturnValueXML(), 40, 20);
> }
> }
>
> På forhånd tak
>
> Jens
>
>
>



Iwan (22-01-2002)
Kommentar
Fra : Iwan


Dato : 22-01-02 21:24

Nu har jeg fundet ud at slå java-konsol til og du har ret... Jeg får
følgende fejl:
com.ms.security.SecurityExceptionEx[Klient.connect]: cannot access
"192.168.0.1":50000

Min FW er slået fra og det virker via en java program, jeg havde bare håbet
at det var sådanne lige til:)

Jeg kan se at der er andre i der skriver at en Applet kun kan kontakte den
server den er hentet fra... Det er nok derfor.

Er der andre metoder at skabe direkte kontakt mellem en bruger af en webside
til en server andet steds en ved kliden til siden?

mvh
Jens

"Lars Hansen" <lbh@el-lal.dk> wrote in message
news:a2fp9f$smd$1@sunsite.dk...
> Har du kigget i din javakonsol?
>
> Det kan godt være at du får en nullpointer exception hvis det ikke er gået
> godt
> at kontakte din server.
>
> /Lars Hansen
> "Iwan" <no@spam.com> wrote in message
> news:3c4b50bc$0$95361$edfadb0f@dspool01.news.tele.dk...
> > Hej Alle!!!
> > Jeg er ved at leve en applet der skal kontakte min app.-server og
udfører
> et
> > sql-statement (via MySQL) og returnere det til appleten (det viker
mellem
> to
> > java programmer), men det er mine første spæde skridt med Applets :)
> >
> > Appleten ses nedenstående, øvrige klasser er ikke medtaget hvad gør jeg
> > galt? Den skriver den første sætning i paint() og ikke mere.
> > Er der nogle der har links til en begynder i applets?
> >
> > class TestKlient extends Applet
> > {
> > ServerMessage svar;
> >
> > public void init()
> > {
> > ServerMessage beskedUd = new ServerMessage(null, "rw", "rw", "Kunder",
> > "getKunder");
> > Klient kl = new Klient();
> > svar = kl.connect("192.168.0.1", 50000, beskedUd);
> > }
> >
> > public void paint(Graphics g)
> > {
> > g.drawString("Besked sendes til serveren", 20,20);
> > g.drawString("Modtaget svar fra server \n" + svar.toString(), 30,
20);
> > g.drawString(svar.getReturnValueXML(), 40, 20);
> > }
> > }
> >
> > På forhånd tak
> >
> > Jens
> >
> >
> >
>
>



Daniel Muhlig (22-01-2002)
Kommentar
Fra : Daniel Muhlig


Dato : 22-01-02 23:15


"Iwan" <no@spam.com> skrev i en meddelelse
news:3c4dcd5b$0$234$edfadb0f@dspool01.news.tele.dk...
> Nu har jeg fundet ud at slå java-konsol til og du har ret... Jeg får
> følgende fejl:
> com.ms.security.SecurityExceptionEx[Klient.connect]: cannot access
> "192.168.0.1":50000
>
> Jeg kan se at der er andre i der skriver at en Applet kun kan kontakte den
> server den er hentet fra... Det er nok derfor.
>
> Er der andre metoder at skabe direkte kontakt mellem en bruger af en
webside
> til en server andet steds en ved kliden til siden?

Jeg vil tro, du kan bruge http, ftp osv. En applet kan blot ikke åbne en
socket-forbindelse til andre end dens 'egen' server. Den kan sikkert godt
hente en html-side (eller xml m.v.) fra en anden web-server.

....jeg er dog ikke sikker!

</Daniel>


>
> mvh
> Jens
>
> "Lars Hansen" <lbh@el-lal.dk> wrote in message
> news:a2fp9f$smd$1@sunsite.dk...
> > Har du kigget i din javakonsol?
> >
> > Det kan godt være at du får en nullpointer exception hvis det ikke er
gået
> > godt
> > at kontakte din server.
> >
> > /Lars Hansen
> > "Iwan" <no@spam.com> wrote in message
> > news:3c4b50bc$0$95361$edfadb0f@dspool01.news.tele.dk...
> > > Hej Alle!!!
> > > Jeg er ved at leve en applet der skal kontakte min app.-server og
> udfører
> > et
> > > sql-statement (via MySQL) og returnere det til appleten (det viker
> mellem
> > to
> > > java programmer), men det er mine første spæde skridt med Applets :)
> > >
> > > Appleten ses nedenstående, øvrige klasser er ikke medtaget hvad gør
jeg
> > > galt? Den skriver den første sætning i paint() og ikke mere.
> > > Er der nogle der har links til en begynder i applets?
> > >
> > > class TestKlient extends Applet
> > > {
> > > ServerMessage svar;
> > >
> > > public void init()
> > > {
> > > ServerMessage beskedUd = new ServerMessage(null, "rw", "rw",
"Kunder",
> > > "getKunder");
> > > Klient kl = new Klient();
> > > svar = kl.connect("192.168.0.1", 50000, beskedUd);
> > > }
> > >
> > > public void paint(Graphics g)
> > > {
> > > g.drawString("Besked sendes til serveren", 20,20);
> > > g.drawString("Modtaget svar fra server \n" + svar.toString(), 30,
> 20);
> > > g.drawString(svar.getReturnValueXML(), 40, 20);
> > > }
> > > }
> > >
> > > På forhånd tak
> > >
> > > Jens
> > >
> > >
> > >
> >
> >
>
>



Morten Olsson (23-01-2002)
Kommentar
Fra : Morten Olsson


Dato : 23-01-02 09:36

> Er der andre metoder at skabe direkte kontakt mellem en bruger af en
webside
> til en server andet steds en ved kliden til siden?

Tja - hvis du security signer (se suns dokumentation) din applet kan du
oprette sockets til
lige hvad du vil. Alternativt kunne du f.eks. lægge et lille "proxy" program
på serveren,
som fungerer som mellemmand mellem din applet og den "fremmede" server der
skal tales med...

venlig hilsen
Morten Olsson



Soeren Dalby (21-01-2002)
Kommentar
Fra : Soeren Dalby


Dato : 21-01-02 23:57

Er der en firewall mellem applet og server ?? I så fald skal der være åbent
på port 50000.

På mange måder vil det være en bedre løsning, hvis forespurgte på en URL,
hvor "kunder" indgik som en GET parameter. Så kunne siden være lavet til at
aflevere logiske informationer til din applet.

Det er noget sikrere, hvis du ikke på forhånd kan vide, hvordan dine
brugeres firewall er sat op.


--
Med venlig hilsen / best regards

Soeren Dalby


"Iwan" <no@spam.com> wrote in message
news:3c4b50bc$0$95361$edfadb0f@dspool01.news.tele.dk...
> Hej Alle!!!
> Jeg er ved at leve en applet der skal kontakte min app.-server og udfører
et
> sql-statement (via MySQL) og returnere det til appleten (det viker mellem
to
> java programmer), men det er mine første spæde skridt med Applets :)
>
> Appleten ses nedenstående, øvrige klasser er ikke medtaget hvad gør jeg
> galt? Den skriver den første sætning i paint() og ikke mere.
> Er der nogle der har links til en begynder i applets?
>
> class TestKlient extends Applet
> {
> ServerMessage svar;
>
> public void init()
> {
> ServerMessage beskedUd = new ServerMessage(null, "rw", "rw", "Kunder",
> "getKunder");
> Klient kl = new Klient();
> svar = kl.connect("192.168.0.1", 50000, beskedUd);
> }
>
> public void paint(Graphics g)
> {
> g.drawString("Besked sendes til serveren", 20,20);
> g.drawString("Modtaget svar fra server \n" + svar.toString(), 30, 20);
> g.drawString(svar.getReturnValueXML(), 40, 20);
> }
> }
>
> På forhånd tak
>
> Jens
>
>
>



Daniel Muhlig (22-01-2002)
Kommentar
Fra : Daniel Muhlig


Dato : 22-01-02 12:52


"Iwan" <no@spam.com> skrev i en meddelelse
news:3c4b50bc$0$95361$edfadb0f@dspool01.news.tele.dk...
> Hej Alle!!!
> Jeg er ved at leve en applet der skal kontakte min app.-server og udfører
et
> sql-statement (via MySQL) og returnere det til appleten (det viker mellem
to
> java programmer), men det er mine første spæde skridt med Applets :)
>
> Appleten ses nedenstående, øvrige klasser er ikke medtaget hvad gør jeg
> galt? Den skriver den første sætning i paint() og ikke mere.
> Er der nogle der har links til en begynder i applets?
>
> class TestKlient extends Applet
> {
> ServerMessage svar;
>
> public void init()
> {
> ServerMessage beskedUd = new ServerMessage(null, "rw", "rw", "Kunder",
> "getKunder");
> Klient kl = new Klient();
> svar = kl.connect("192.168.0.1", 50000, beskedUd);
> }

På grund af sikkerheden kan en applet ikke kontakte andre servere end den,
den selv er hentet fra. For at ovenstående skal kunne virke, skal siden,
hvor appletten er indlejret, være hentet fra 192.168.0.1. En applet har også
spæret adgang til 127.0.0.1 (localhost) så vidt jeg husker...

Kan det være dét?

</Daniel>



Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408926
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste