|
| 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>
| |
|
|