ServerSocket.accept() überschreibt IP-Adresse

geqoo

Bekanntes Mitglied
Hallo,

ich habe hier einen Server Socket, bei dem ich mittels accept die Clients annehme.

Java:
ServerSocket listener = new ServerSocket(1339);

while(true) {
  try {
    new sthread(listener.accept()).start();
    System.out.println("Client connected.");
  } catch (IOException e) { e.printStackTrace(); }
}

Und noch den Thread:

Java:
public class sthread extends Thread implements Runnable {
	private static Socket client = null;
	private static String ip_addr;

    public sthread (Socket argclient) {
    	super("sthread");
    	sthread.client = argclient;

    	sthread.ip_addr = argclient.getRemoteSocketAddress().toString();
    }

...

}

Der Server nimmt die Clients brav an, alles schön und gut.

Das Problem dabei ist jetzt aber, dass der Server die IP Adresse bei allen Clients überschreibt, und zwar auf die Adresse, die vom letzten Client kommt, der sich verbunden hat.

Weiß jemand Abhilfe?
 

Lumaraf

Bekanntes Mitglied
Du solltest die Attribute client und ip_addr dann auch nicht static machen wenn die nicht gegenseitig von den Thread überschrieben werden sollen. Ach und btw Klassennamen schreibt man in Java immer mit einem großen Anfangsbuchstaben.
 
I

irgendjemand

Gast
Java:
extends Thread implements Runnable

kommt das nicht einigen hier auch komisch vor ?

@TO
Thread implementiert bereits das Interface Runnable ... desshalb musst du es nicht selbst implementieren ...

ENTWEDER von Thread ableiten
ODER Runnable implementieren ...

beides ist sinnlos *und grenzt schon an polymorphie*
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
H ServerSocket.accept() unterbrechen Netzwerkprogrammierung 3
T ServerSocket.accept Rückgabetyp casten Netzwerkprogrammierung 3
C serversocket.accept() klappt nicht Netzwerkprogrammierung 10
M ServerSocket.accept() abbrechen Netzwerkprogrammierung 8
dayaftereh serverSocket.accept(); Wecken Netzwerkprogrammierung 2
E Custom E Mail Adresse mithilfe Serversocket oder ähnliches Netzwerkprogrammierung 21
Tobero Java serversocket nicht nur zuganglich für localhost Netzwerkprogrammierung 6
D ServerSocket - Socket Verbindungsart Netzwerkprogrammierung 3
J 1 Socket - 2 Serversocket Netzwerkprogrammierung 4
J Client - Serversocket Netzwerkprogrammierung 1
Seikuassi Socket ServerSocket mehrmals erzeugen Netzwerkprogrammierung 1
cezary Socket ServerSocket starten über GUIIm unterstehenden Code versuche Netzwerkprogrammierung 6
J ServerSocket sauber beenden Netzwerkprogrammierung 3
TheJavaKid ServerSocket beendet mit PuTTy Netzwerkprogrammierung 9
P Socket Daten senden mit ServerSocket? Netzwerkprogrammierung 2
4 Socket Kann kein ServerSocket erstellen Netzwerkprogrammierung 4
D Socket ServerSocket Push Netzwerkprogrammierung 5
Tobse HTTP ServerSocket HTTP Netzwerkprogrammierung 4
X FAQ Frage - Netzwerkgrundlagen - ServerSocket und Socket Netzwerkprogrammierung 4
M Wahrnehmen, dass ServerSocket geschlossen wurde Netzwerkprogrammierung 14
T ServerSocket bleibt beim lesen von Input hängen Netzwerkprogrammierung 2
Schandro Herausfinden ob hinter einem Port bereits ein ServerSocket steckt Netzwerkprogrammierung 2
2 Class mit ServerSocket erbt von Thread? Netzwerkprogrammierung 3
T Java Socket und ServerSocket über Internet-IP? Netzwerkprogrammierung 9
G Frage zu Serversocket-Beispiel aus der FAQ Netzwerkprogrammierung 17
D Komisches Fenster bei Serversocket Netzwerkprogrammierung 2
M Kommunikation zwischen ServerSocket und Socket Netzwerkprogrammierung 2
F ServerSocket im internet zugänglich machen Netzwerkprogrammierung 15
H ServerSocket -> Zugriff nur von localhost Netzwerkprogrammierung 6
P Serversocket schmeißt immmer EOFEXCEPTION Netzwerkprogrammierung 2
A serversocket soll anfrage vom handy entgegennehmen Netzwerkprogrammierung 4
P Problem mit Socket und ServerSocket Netzwerkprogrammierung 2
S ServerSocket merkt nicht, wenn keiner mehr da ist Netzwerkprogrammierung 8
J ServerSocket vs. DatagramSocket Netzwerkprogrammierung 2
A ServerSocket prinzipielle Frage Netzwerkprogrammierung 5
D Problem ServerSocket global Netzwerkprogrammierung 3
J ServerSocket schließen / öffnen im Programmverlauf Netzwerkprogrammierung 4
G einfache Frage zu ServerSocket ... Netzwerkprogrammierung 5
R Socket bei server.accept(); gehts nicht weiter Netzwerkprogrammierung 2
C Socket Identifikation des clients nach der accept() Methode Netzwerkprogrammierung 2
G "Address already in use" accept() abbrechen? Netzwerkprogrammierung 4
X Java6 - RMI - "SocketTimeoutException: Accept timed out Netzwerkprogrammierung 6
J Socket.Accept() unterbrechen? Netzwerkprogrammierung 7
J server.accept() Netzwerkprogrammierung 10
N Server accept-Methode zeitlich begrenzen Netzwerkprogrammierung 2
M den Server aus seinem accept-Zustand holen Netzwerkprogrammierung 3
J server.accept() unterbrechen Netzwerkprogrammierung 10

Ähnliche Java Themen


Oben