Viele Fragen...

mccae

Senfdazugeber
Hallo!

Ich hab' wieder ein paar Fragen die noch offen sind.
Es wär toll ihr mir helfen könntet...

Netzwerktechnisches:

Thema 1

Ich habe einen Server der in einer Endlosschleife Verbindungen mit accept() akzeptiert und neue Clientthreads erstellt:

Java:
while(noerr_vol){
	Socket clientSocket_tmp = srvsock_att.accept();
	
	new Thread(new ClientHandler(clientSocket_tmp)).start();
}

Die Zeit die es braucht im den neuen ClientThread zu erstellen, ist verloren.
Dazwischen ist es nicht möglich neue Verbindungen zu akzeptieren.

Wie kann ich dies vermeiden?

Kann ich in mehreren Threads solche accept() schleifen laufen lassen (Mit dem selben Socket)?

Wie kann ich also an Port XY unter IP ABC eine große Anzahl von Clientanfragen bewältigen?


Thema2

Ich habe gehört, es ist nicht gut, wenn man für jeden Client einen Thread erstellt...

Was kann ich sonst tun?
Ich erstelle sogar 3 Threads pro Client:
Es gibt eine Sende- und Empfangsschleife sowie die ClientLogic die empfangenes Auswertet, usw.


Thema3

Beispiel:

Mal angenommen ich habe einen Server der Positionsdaten an seine Clients sendet. (Position, Orientation, und andere Eigenschaften)

Wie kann ich sicherstellen, dass alle Clients unter Berücksichtigung aller Verzögerungen (Latenz,etc.) diese Daten zeitgleich empfangen (es soll zumindest den Anschein haben)?

Denn wenn Client 1 eine Aktion triggert (Drehen zum Beispiel), möchte ich, dass auch die Clients 2 bis 64 diese Drehung (fast) zeitgleich sehen...

Hat da jemand einen Link für mich?


Threads:

Thema4

Ich wurde darauf hingewiesen, keine Threads mit der Threadklasse, sondern einen ExecutorService zu benutzen.

Was ist denn der Unterschied zwischen "new Thread(runnable).start();" und den "Executors"?


Speichertechnisches:

Thema5

Mal angenommen, ich habe die Möglichkeit den von der JVM beanspruchten Memory auf meinem Windows PC zu scannen.

Wie finde ich heraus, wo im Speicher sich zum Beispiel das Attribut "dna" des Objekts "hugo" der Klasse "Mensch" befindet?
Ich würde gerne von außen Checksums berechnen um Manipulationen zu verhindern.

Hat jemand vielleicht entsprechende Literatur-links für mich?


Vielen Dank im Voraus für jede Antwort.

Mit freundlichen Grüßen,
Filip
 
Zuletzt bearbeitet:
Zurück