Zum Inhalt springen

Socket-Problem


StarLord

Empfohlene Beiträge

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...