2010-05-18 4 views
1

Je dois interagir avec un système hérité qui accepte la communication par socket et les messages. Mon but est de rendre l'application multiplateforme, mais j'ai besoin de pouvoir envoyer des messages au client (par exemple, WCF de .NET, Comet de Java) et de détecter quand l'utilisateur ferme son navigateur pour détruire le socket. J'ai construit un prototype de .NET wrapper + WCF + Silverlight mais il est tellement déconnecté qu'il est difficile de gérer l'état de l'utilisateur et semble être un cauchemar à supporter. Tout cela considéré, quelle serait ma meilleure option?Programmation de socket pour le Web

Répondre

2

HTTP est sans état. Vous devez gérer une session pour chaque utilisateur (ce qui est généralement fait avec HTTP cookies.) Puis, selon la flexibilité du système existant, vous pouvez lui conserver un pool of connections, mappant la connexion à la session à la demande, pour équilibrer la charge sur ce système hérité.

0

Si vous devez envoyer des informations au client, je vous suggère d'utiliser l'applet Silverlight ou Java et de créer une connexion socket. Comet ou iframe longue interrogation sont des hacks. Ils ne sont pas fiables. Ou, si vous pouvez attendre, utilisez WebSocket, qui est maintenant indépendant de HTML5 et, les dieux savent quand il deviendra la norme.