2010-12-13 10 views
1

Ich muss ein Server Socket-Programm entwerfen.Die Anforderung ist Jede Verbindung vom Client wird in verschiedenen Threads sein.Schreiben einer Socket-Server-Anwendung

Die Herausforderung ist Angenommen, Server ist jetzt mit zwei Client-Client A und Client B verbunden. Sie werden in zwei verschiedenen Thread sein.

Meine Anwendungsanforderung ist, wenn Server eine Meldung von Client A oder Client B erhalten, nachdem sie diese Nachricht verarbeitet wird sie die Nachrichten an Client A und Client B senden

Können Sie bitte vorschlagen, was das sein wird, richtiger Ansatz dafür. Wie zu wissen, welche Kunden zu einer Zeit geöffnet sind.

+0

Nicht versuchen, unhöflich zu sein, aber vielleicht möchten Sie einige Antworten auf Ihre Fragen akzeptieren. Das sagt den Leuten, dass Sie ihre Bemühungen schätzen, indem Sie ihre Antworten bestätigen. – Raphael

Antwort

1

Ganz einfach wirklich - haben Datenstrukturen von den beiden Threads gemeinsam und geschützt von concurrent access. Sie können das Senden basierend auf einem message queue like Muster entwerfen.

+0

OK, also meinst du, ich werde eine Liste erstellen füge den verbundenen Socket-Deskriptor in die Variable ein. In jedem verbundenen Thread werde ich die Liste bearbeiten und die Nachricht senden. Und vor dem Senden muss ich einige Sperren erwerben – user382541

Verwandte Themen