Socket Instanz auf Klasse welche von Socket erbt zuweisen

Status
Nicht offen für weitere Antworten.

faux

Mitglied
Hallo!

Ich möchte eine Client-Server Verbindung erstellen. Ich bin gerade beim Programmieren des Servers. Ich will, dass wenn ein Client zum Server verbindet, ein neuer Thread für diese Verbindung gestartet wird. Dies löse ich dadurch, dass ich eine Klasse erstelle, die von Socket abgeleitet wird und Runnable implementiert. Mein Problem: ServerSocket.accept() liefert ein Socket zurück, wie kann ich dieses Socket meiner eigenen Klasse zuweisen?

Server-Haupt-Thread wartet auf Verbindung:
Code:
public void run()
{
	while (!server.isClosed())
	{
	    try
	    {
		/*
		 * Wait for client to connect.
		 */
		server.accept(); // Hier bekomme ich ein Socket, das mit dem Client verbunden ist
		                 // zurück. Dieses muss ich der Instanz client zuweisen...
		Client client = new Client(); // Hier instanziiere ich meine Klasse (siehe Unten)

		System.out.println("Client connected: " + client.getLocalAddress().getHostAddress());

		/*
		 * Start new Thread for each client.
		 */
		Thread clientThread = new Thread(client);
		clientThread.start();
	    }
	    catch (IOException e)
	    {
		// TODO Auto-generated catch block
		e.printStackTrace();
	    }
	}
}

Meine Klasse, der Client-Thread des Servers:
Code:
public class Client extends Socket implements Runnable
{
    public void run()
    {
	try
	{
	    BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(getOutputStream()));
	    BufferedReader reader = new BufferedReader(new InputStreamReader(getInputStream()));

	/*
	 * Sending PING.
	 */
	    while (isConnected())
	    {
		writer.write("PING.\n");
		System.out.println("Sending: PING");

		Thread.sleep(2500);
	    }
	}
}

Grüße
Faux
 

Wildcard

Top Contributor
Das geht nicht.
Du musst das Socket benutzen das du bekommst, du kannst nicht einfach ein Socket deiner Klasse daraus machen.
 

faux

Mitglied
Wildcard hat gesagt.:
Das geht nicht.
Du musst das Socket benutzen das du bekommst, du kannst nicht einfach ein Socket deiner Klasse daraus machen.
Ja, das ist mir klar, aber wie kann ich das sonst lösen? Ich hätte schon daran gedacht, dass der Constructor meiner Klasse das übergebene Socket auf meine Klasse "umschreibt", also die Eigenschaften überträgt und neu Connected, aber das ist wohl eher nicht vielversprechend.

Wie würdest du das lösen? Sollte ich eher die Klasse von Thread ableiten und ein Feld von Typ Socket erstellen, dem dann das resultierende Socket zugewiesen wird?

Grüße
Faux
 

Wildcard

Top Contributor
Deine Klasse Client implements Runnable muss ein Socket bekommen, aber doch nicht selbst eins sein.
Einfach eine Referenz übergeben.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
izoards Socket Kommunikation Java Basics - Anfänger-Themen 16
Nina Pohl Ein Vorgang bezog sich auf ein Objekt, das kein Socket ist Java Basics - Anfänger-Themen 6
G Socket Verbindung aufbauen Java Basics - Anfänger-Themen 11
S Bilder über Socket Senden Java Basics - Anfänger-Themen 1
S Asynchrone Socket-Abfragen Java Basics - Anfänger-Themen 5
Meeresgott OOP Socket Verbindung richtig Kapseln Java Basics - Anfänger-Themen 0
O Socket by reference übergeben Java Basics - Anfänger-Themen 0
J Socket schließen - Ist eine SocketException unumgänglich? Java Basics - Anfänger-Themen 4
D Socket ---> Server Socket worauf muss ich achten? Java Basics - Anfänger-Themen 2
N Socket-Programmierung Java Basics - Anfänger-Themen 4
M wait/notify bei Socket Java Basics - Anfänger-Themen 4
B Input/Output Socket I/O - outputStream.write(-1) Java Basics - Anfänger-Themen 2
B Socket OutputStream Java Basics - Anfänger-Themen 17
B Socket Kommunikation in beide Richtungen Java Basics - Anfänger-Themen 12
B Socket, args Java Basics - Anfänger-Themen 22
L Socket in JTextArea Java Basics - Anfänger-Themen 9
T Input/Output Zwei InputStreams von einem Socket Java Basics - Anfänger-Themen 2
B Socket Problem Java Basics - Anfänger-Themen 3
T socket.close aber verbindung besteht noch Java Basics - Anfänger-Themen 4
F Buffered Image über Socket versenden Java Basics - Anfänger-Themen 6
E Socket InputStream "terminiert" nicht Java Basics - Anfänger-Themen 4
B Threads Interrupt während Socket.read()? Java Basics - Anfänger-Themen 3
M Versand von Nachrichten via Socket (Delay) Java Basics - Anfänger-Themen 21
F socket-problem Java Basics - Anfänger-Themen 6
E Input/Output Socket bekommt keine Verbindung bei funktionierendem Fremdziel Java Basics - Anfänger-Themen 2
E Socket (Client) dauerhaft aktiv? Java Basics - Anfänger-Themen 9
D Java - Socket - Datenübertragung Java Basics - Anfänger-Themen 18
E Input/Output einfachen Socket für XML-Anfragen bauen Java Basics - Anfänger-Themen 13
R Cannot find a free socket for the debugger Java Basics - Anfänger-Themen 6
F Socket Kommunikation Java Basics - Anfänger-Themen 4
M "Connection reset" gbxRemote Socket Java Basics - Anfänger-Themen 9
N Files mit Byte an Socket versenden Java Basics - Anfänger-Themen 2
L FTP per Socket Java Basics - Anfänger-Themen 2
M Audio Stream läuft auf :connection abort: socket write error Java Basics - Anfänger-Themen 2
J Socket - BufferedReader lese Problem Java Basics - Anfänger-Themen 2
M Socket Server Java Basics - Anfänger-Themen 9
N Socket Problem? Java Basics - Anfänger-Themen 9
G Socket erstellen dauert sehr lange. Java Basics - Anfänger-Themen 4
H Java Socket Java Basics - Anfänger-Themen 14
A XML Daten über Socket Java Basics - Anfänger-Themen 3
I Allgemeine fragen zu Socket server Java Basics - Anfänger-Themen 6
C Socket Programmierung Java Java Basics - Anfänger-Themen 4
ven000m Wieso antwortet mein Server nicht mehr (Socket Anwendung) Java Basics - Anfänger-Themen 2
J Daten von einem (char*)Socket einlesen. Java Basics - Anfänger-Themen 3
S Java Socket Java Basics - Anfänger-Themen 3
K Frage zu SdtOut streams bzw. Socket Programmierung Java Basics - Anfänger-Themen 3
M HTTP-Anfragen und Socket Java Basics - Anfänger-Themen 2
A von Socket-Stream lesen Java Basics - Anfänger-Themen 4
M Ändern einer Socket-Eigenscheft aus einem modalen Dialog? Java Basics - Anfänger-Themen 6
S Einfach-Verkettete-Listen Ausgabe zeigt nur 1. und letzte instanz Java Basics - Anfänger-Themen 2
frager2345 Singleton-Muster Java ->Nur eine Instanz einer Klasse erzeugen können Java Basics - Anfänger-Themen 45
H String Repräsentation eines Rechtecks mit Instanz-Methode Java Basics - Anfänger-Themen 8
O Mit Instanz von Oberklasse auf Unterklasse zugreifen Java Basics - Anfänger-Themen 2
O Wie erstelle ich eine Instanz in einer Klasse für die ich die Instanz will? Java Basics - Anfänger-Themen 4
T Auf Instanz der selben Klasse aus überschriebener Methode in Methode zugreifen. Java Basics - Anfänger-Themen 2
T Inhalt aus TextField in Attribut einer Instanz schreiben Java Basics - Anfänger-Themen 5
F Wann ist es eine Instanz und wann nicht? Java Basics - Anfänger-Themen 1
Kirby.exe Generische Objekt Instanz erstellen Java Basics - Anfänger-Themen 14
M Java Instanz-Variablen ? Java Basics - Anfänger-Themen 3
I Instanz einer anderen Klasse zurückgeben Java Basics - Anfänger-Themen 34
G Unterschied Instanz- Klassenvariable Java Basics - Anfänger-Themen 11
F Mehrere Instanzen der Klasse A EINER Instanz der Klasse B übergeben Java Basics - Anfänger-Themen 3
F OOP Instanz einer Klasse an eine andere weitergeben Java Basics - Anfänger-Themen 16
C Instanz einer Klasse während if-Abfrage erzeugen und bei zweiter if-Abfrage wiederverwenden Java Basics - Anfänger-Themen 6
C Group, Actor und Instanz-Zugriff, LibGDX Java Basics - Anfänger-Themen 4
BadBat Klassen instanz als variable + methodenaufruf Java Basics - Anfänger-Themen 4
T Auf Instanz einer Liste zugreifen Java Basics - Anfänger-Themen 2
M Neu instanzierte Klasse übernimmt Werte von anderer Instanz Java Basics - Anfänger-Themen 4
P Instanz mit .add Methode von einer Klasse zur anderen? Java Basics - Anfänger-Themen 6
H Klassen Von Instanzvariablen auf Instanz schließen Java Basics - Anfänger-Themen 21
W Methoden Methode ohne Parameter auf Instanz eines Objekts aufrufen? Java Basics - Anfänger-Themen 14
J Variablen Unterschied zwischen lokalen-, Instanz-, Klassenvariablen Java Basics - Anfänger-Themen 6
T Junit Mockito: Instanz von inneren erzeugten Objekten Java Basics - Anfänger-Themen 4
S Klassen Instanz anderer Klasse raus geben Java Basics - Anfänger-Themen 1
B Klassen Auf Instanz anderer Klasse zugreifen Java Basics - Anfänger-Themen 1
U JavaFX eine Vbox Instanz pro Pane? Java Basics - Anfänger-Themen 2
D Instanz einer Subklasse anhand deren Superklasse Java Basics - Anfänger-Themen 5
K Zugriff auf Variabeln Wert einer Instanz Java Basics - Anfänger-Themen 4
O OOP Methoden bei erstellen einer Instanz und mehr Java Basics - Anfänger-Themen 4
S Methoden eine Instanz einer eigenen Klasse als parameter übergeben Java Basics - Anfänger-Themen 9
S Wann existiert eine Instanz (eigene Klasse) Java Basics - Anfänger-Themen 8
E Von Instanz des Dialogs auf das Frame zugreifen Java Basics - Anfänger-Themen 8
kaoZ Android Programmierung / Erstellen einer neuen Instanz Java Basics - Anfänger-Themen 2
B Variablen Instanz von Enum zur Laufzeit erstellen und zuweisen Java Basics - Anfänger-Themen 2
G Undefined Instanz/Konstruktoraufruf Java Basics - Anfänger-Themen 8
S Ein Attribut/Instanz eines bestehendes Objektes mit SETTER Methode ändern Java Basics - Anfänger-Themen 3
M Initialisierungsblock beim Erzeugen einer Instanz Java Basics - Anfänger-Themen 6
J Instanz durch String Java Basics - Anfänger-Themen 8
U final Instanz Java Basics - Anfänger-Themen 11
C Klassen Zugriff auf Instanz einer anderen Klasse Java Basics - Anfänger-Themen 9
F Array als Instanz einer Klasse Java Basics - Anfänger-Themen 8
P Klassen Instanz einer Klasse in ihrer eigenen Definition erzeugen? möglich? Java Basics - Anfänger-Themen 4
O Erste Schritte Klassenname zurückgeben, keine instanz Java Basics - Anfänger-Themen 23
0 Log4J Instanz erzeugen Java Basics - Anfänger-Themen 2
K Methoden Zustand innerhalb einer Instanz ändern Java Basics - Anfänger-Themen 2
B Geerbte Instanz kann keine void Methode ausführen?! Java Basics - Anfänger-Themen 15
pindakaas Instanz einer Klasse in einer anderen erzeugen Java Basics - Anfänger-Themen 6
L Instanz Problem Java Basics - Anfänger-Themen 4
E ActionListener erkennt instanz nicht Java Basics - Anfänger-Themen 9
M JRadioButton keine Instanz von ButtonModel Java Basics - Anfänger-Themen 10

Ähnliche Java Themen

Neue Themen


Oben