Einzelnen Beitrag anzeigen

Benutzerbild von rollstuhlfahrer
rollstuhlfahrer

Registriert seit: 1. Aug 2007
Ort: Ludwigshafen am Rhein
1.529 Beiträge
 
Delphi 7 Professional
 
#2

AW: Software Design einer Server Anwendung

  Alt 16. Jun 2010, 23:10
Um an den Thread zu kommen schlägst du die Session-ID des Empfängers in deiner User-Tabelle nach. Dort sotte der Empfänger dann auch drin stehen. Deine Threads organisierst du in einer Liste. Beim Connect wird einfach ein Listeneintrag angehängt und beim Disconnect wird der entsprechende Eintrag gelöscht. Jetzt speicherst du in den T*Thread.Data-Feldern die Session-ID. Schreibt ein Nutzer einem anderen eine Nachricht, wird also zuerst die Session-ID nachgeschlagen und dann der Thread ermittelt und dem User die Nachricht geschickt.

Soll das ganze per HTTP laufen, wo die Verbindungen nicht länger als 200ms sind, würde ich dir etwas AJAX empfehlen. Der Browser baut eine Verbindung auf. Du hällst diese dann rund 6 Sekunden und solange in der Zeit keine Nachricht für den Benutzer da ist, wird die Verbindung dann serverseitig mit einem bestimmten Signal unterbrochen. Der Browser erkennt das Signal und macht sofort nen Reconnect. Falls eine Nachricht eingetroffen ist, schickst du dem Browser die Nachricht und trennst dann serverseitig die Verbindung. Der Browser baut diese dann sofort wieder auf, nachdem er die Nachricht angezeigt hat. Übrigend das Browsergame Sternenpackt funktioniert nach diesem Prinzip (wenn man die AJAX-Variante findet).

Bernhard
Bernhard
Iliacos intra muros peccatur et extra!
  Mit Zitat antworten Zitat