2010-12-13 50 views
1

Je dois concevoir un programme de socket serveur. L'exigence est Chaque connexion du client sera dans différents threads. Le problème est que Suppose Server est maintenant connecté avec deux clients Client A et B. Ils seront dans deux threads différents.Écriture d'une application serveur socket

Mon exigence d'application est lorsque le serveur obtiendra un certain message de A ou B client du client, après le traitement de ce message, il envoie les messages à la fois A et client du client B.

Pouvez-vous s'il vous plaît suggérer ce qui sera le bonne approche pour cela .Comment savoir quels clients sont ouverts à la fois.

+0

N'essayant pas d'être impoli mais vous pouvez accepter des réponses à vos questions. Cela indique aux gens que vous appréciez leurs efforts en reconnaissant leurs réponses. – Raphael

Répondre

1

Assez simple - avoir des structures de données partagées par les deux threads et protégés par concurrent access. Vous pouvez concevoir l'envoi basé sur un modèle message queue.

+0

Ok, donc vous voulez dire que je vais créer une liste insérer le descripteur de socket connecté dans la variable. Dans chaque thread connecté je vais traiter la liste et enverra le message. Et avant d'envoyer je dois acquérir des verrous – user382541