Erstes Netzwerkprogramm

IwiS

Bekanntes Mitglied
Hallo,

ich habe mich heute das aller erste Mal der Netzwerkprogrammierung zugewandt. Habe mir ein bisschen was durchgelesen, und wollte ein Socket erstellen, und eine paar Infos über die Url haben.
Dazu habe ich folgenden Code erstellt:

Code:
import java.awt.*;
import java.awt.event.*;
import java.net.Socket;
import javax.swing.*;

public class Application extends JFrame
{
 public static void main(String[] args)
 {
  Application app = new Application();
  app.setLocation(625, 150);
  app.setSize(325, 250);
  app.setTitle("Client");
  app.setVisible(true);
 }
 public Application()
 {
  Socket socket = new Socket("www.wetter.com", 80);
  
 }
}

Mir ist bekannt, dass ich, um Infos über die Socketadresse des Servers zu bekommen, folgenden Code erstellen muss:

Code:
socket.getRemoteSocketAdress();

Allerdings weiß ich nicht, wie ich diese Info dann ausgeben soll, da ich es nicht über JLabel, oder JTextArea machen kann.
Wie soll ich das anstellen?

lg IwiS
 

IwiS

Bekanntes Mitglied
Hi,

wenn ich versuche es in einem JLabel auszugeben, dann bekomme eine Fehlermeldung. Ich werde mal den Code + Fehlermeldung posten.

lg IwiS
 

IwiS

Bekanntes Mitglied
Hallo,

hier der Code:

Code:
import java.awt.*;
import java.awt.event.*;
import java.net.Socket;
import javax.swing.*;

public class Application extends JFrame
{
 public static void main(String[] args)
 {
  Application app = new Application();
  app.setLocation(625, 150);
  app.setSize(325, 250);
  app.setTitle("Client");
  app.setVisible(true);
 }
 public Application()
 {
  Socket socket = new Socket("www.wetter.com", 80);
  JLabel label = new JLabel(socket.getRemoteSocketAdress());
  add(label, BorderLayout.CENTER);
 }
}

lg IwiS
 

IwiS

Bekanntes Mitglied
Hallo,

könnte mir bitte jemand sagen, was an dem von mir eingestellten Code falsch ist, bzw. wie ich die Fehler korrigieren kann?

lg IwiS
 

xehpuk

Top Contributor
Fehlermeldungen sind da, um sie zu lesen.

Der Compiler sagt dir, dass es keine Methode
Code:
getRemoteSocketAdress()
für den Typ
Code:
Socket
gibt. Also überprüf das hier: Socket (Java Platform SE 7)
 

IwiS

Bekanntes Mitglied
Hallo,

ich finde es zwar toll, wenn mir viele Leute erklären, was die Fehler sind, aber könnte mir jemand erklären, was eine mögliche Lösung ist? Wäre euch sehr dankbar!

lg IwiS
 
T

Tomate_Salat

Gast
a) Methoden richtig schreiben
b) In die Doku schauen, welche Parameter übergeben werden können+deren Typ

Schreiben tun wirs dir nicht, ein wenig Eigeninitiative ist hier schon angebracht ;-)
 

IwiS

Bekanntes Mitglied
Hallo,

mit JLabel geht es also schonmal nicht. Kennt jemand einen Komponenten, dem dieser Parameter übergeben werden kann?

lg IwiS
 

xehpuk

Top Contributor
Wie sieht deiner Meinung nach die visuelle Repräsentation einer
Code:
SocketAddress
aus?
 

xehpuk

Top Contributor
Du wolltest einem
Code:
JLabel
eine
Code:
SocketAddress
übergeben.
Code:
JLabel
ist eine GUI-Komponente. Deswegen gehe ich davon aus, dass du die
Code:
SocketAddress
irgendwie anzeigen willst. Jetzt ist die Frage, wie sie aussehen soll. Wie stellst du dir das vor?

Willst du nur die textuelle Repräsentation, so reicht dir vielleicht die standardmäßig vorhandene
Code:
toString()
. Soll der Text anders aussehen, musst du dir einen eigenen Formatter schreiben.
Willst du hingegen etwas "zum Sehen" haben, musst du dir eigene Zeichenroutinen überlegen.
 
T

Tomate_Salat

Gast
Das mit "Eigeninitiative" war kein Witz von mir.

Schau in der Api nach, was dir zu [japi]JLabel[/japi] zur Verfügung steht und, soviel sei verraten, nutze die toString()-Methode von der Xehpuk geredet hat.

Wenn du nicht imstande bist, solch eine einfache Aufgabe mit der Api zu lösen (vor allem nach den ganzen Hinweisen von uns), dann ist GUI-Programmierung noch nichts für dich. Grundlagen (dazu gehört auch Apis lesen) sollten da schon vorhanden sein.
 

Ähnliche Java Themen


Oben