StarLord Geschrieben 10. Juni 2002 Teilen Geschrieben 10. Juni 2002 Hallo Leute! Ich habe ein kleines Problem und vielleicht kann mir von euch jemand dabei helfen. Hier mal ein Auszug meines Applet-Codes: InetAddress inetServer; InetAddress inetClient; Socket mySock; try { inetClient = InetAddress.getByName("192.168.0.31"); // Das ist mein Rechner inetServer = InetAddress.getByName("192.168.0.5"); // Das ist irgendein Rechner im Intranet (gleiches Subnetz wie mein Rechner) } catch(Exception e) { /* mach irgendwas */ } try { mySock = new Socket(inetServer, 80, inetClient, 1060 /* Portnummer ist eigentlch egal, sollte aber zwischen 1024 und 5000 liegen */); } catch(Exception e) { /* mach irgendwas */ } Leider kann ich damit keine Verbindung aufbauen. Es kommt einfach keine Connection zustande, obwohl der Zielrechner einen Port hat der auf LISTEN steht (z.B durch Apache) und keine Firwall die Verbindung verhindert. Dazu meine Fragen: 1. Was ist an meinem Sourcecode falsch? Ich konnte weder im Usenet noch im Web eine Lösung finden. 2. Wie kann ich ohne großem Aufwand einen lokalen freien Port ermitteln? 3. Wie fange ich die Exceptions richtig ab? Vielen Dank schon mal! Gruß, StarLord Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Peeter Geschrieben 10. Juni 2002 Teilen Geschrieben 10. Juni 2002 Also erst mal wäre es einfacher ne Lösung zu finden, wenn du den Fehlercode mit posten könntest. Aber davon mal abgesehen, ist auf dem Server der Port 80 überhaupt auf, und ist auf dem Client der Port 1060 nicht benutzt? Aber poste auf jeden Fall mal den Fehlercode! cu Peeter Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Jaraz Geschrieben 10. Juni 2002 Teilen Geschrieben 10. Juni 2002 Original geschrieben von StarLord inetServer = InetAddress.getByName("192.168.0.5"); // Das ist irgendein Rechner im Intranet (gleiches Subnetz wie mein Rechner) Das kann bei einem unsignierten Applet nicht "irgendein Rechner" sein, sondern nur der Rechner von dem das Applet geladen wurde. Gruß Jaraz Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
StarLord Geschrieben 10. Juni 2002 Autor Teilen Geschrieben 10. Juni 2002 Original geschrieben von Jaraz Das kann bei einem unsignierten Applet nicht "irgendein Rechner" sein, sondern nur der Rechner von dem das Applet geladen wurde. Das gilt doch nur wenn man den Remote Host nicht mit angiebt. Das hatte ich jedoch gemacht... falls es überhaupt nicht gehen würde wären die Java-Sockets doch in vielen Fällen für die Katz... oder nicht? BTW: Klingt zwar dumm, aber ich finde dennoch keine Lösung: Wie gebe ich eigentlich bei einem Applet Fehlermeldungen mit system.out.println() bzw system.err.println() aus? Ich kann nirgends die Ausgabe entdecken. Java ist für mich leider doch noch nicht so ganz verständlich obwohl es anscheinend wesentlich leichter als VC++ ist. Gruß, StarLord Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Peeter Geschrieben 11. Juni 2002 Teilen Geschrieben 11. Juni 2002 Beim IE gibts bei den erweiterten Einstellungen die Möglichkeit die Java-Console zu aktivieren (Microsoft VM). Bei Netscape wird´s was ähnliches sein. Aktiviere auch mal die Protokollierung. Und dann schickst du den Fehlercode! cu Peeter Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
StarLord Geschrieben 11. Juni 2002 Autor Teilen Geschrieben 11. Juni 2002 @Peeter: Das ist ja genau das Problem: Ich bekomme keine Ausgabe, nicht mal in der Konsole. Sie zeigt bei eingeschalteter Protokollierung nur an dass ein Applet geladen wurde... aber meine Fehlermeldungen will sie nicht anzeigen. Gruß, StarLord Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Peeter Geschrieben 11. Juni 2002 Teilen Geschrieben 11. Juni 2002 In deinem SDK-Verzeichnis gibts ne Datei "appletviewer.exe"! Mit der kannst du dir dein Applet anschauen. Ich glaube sogar, das in der Konsole die Fehlercodes angezeigt werden. cu Peeter Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
BMAS Geschrieben 13. Juni 2002 Teilen Geschrieben 13. Juni 2002 Nur mal eine dumme Frage, musst du nicht bei InetAddress.getByName den Rechnernamen statt der IP übergeben? Deshalb heisst es ja auch get by Name Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Peeter Geschrieben 13. Juni 2002 Teilen Geschrieben 13. Juni 2002 Da ist es egal, ob man den Namen oder die IP angibt. Hab ich schon mal getestet. Peeter Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.