2012-04-21 8 views
3

Wcf at-il remplacé le socket? pour l'application serveur client J'ai besoin que ce client envoie des messages au serveur et que le serveur puisse faire la même chose sans attendre la demande d'un client. Alors, est-ce que je peux faire ceci ou wcf peut seulement exposer beaucoup de services dont le client a besoin et la communication ne peut pas être interactif et bidirectionnelle? merciCommunication socket vs Wcf

Répondre

4

Voulez-vous que la connexion soit persistante? Si c'est le cas, cela ne semble pas être un bon cas pour la WCF. Peut-être jeter un oeil à quelque chose comme ZeroMQ à la place. Wcf ne remplacera jamais les prises femelles

+0

merci OJ: mon application est un simulateur de l'unité de suivi par GPS/GPRS. Donc, j'ai besoin d'une connexion persistant entre l'unité et le serveur et je suis obligé de le faire avec wcf. puis-je faire cela ou vous pensez que c'est difficile ou impossible? des conseils –

+2

Vous pouvez le faire avec WCF mais je pense fortement que c'est le mauvais outil pour le travail. Une abstraction de socket de base est vraiment tout ce qui est nécessaire, et ZeroMQ fait vraiment ce genre de chose. Les frais généraux de la WCF au moment de la construction et de l'exécution le rendent plus douloureux que nécessaire. Pour votre cas, les abstractions ne vont pas vraiment vous donner grand chose. Puis-je vous demander pourquoi vous êtes obligé de faire cela avec WCF? À votre santé! –

+0

mon patron voudrait que le client utilise socket et le serveur utilise wcf mais je ne sais pas exactement quelles sont les raisons !!! –

2

Le WCF implémente juste quelques protocoles concrets sur le TCP donc si vous avez besoin d'autre chose comme IP ou même UDP vous devez toujours utiliser les sockets.

Si vous avez besoin d'une connexion TCP stable, vous avez toujours besoin d'une socket. Cette discussion pourrait également vous être utile. http://forums.silverlight.net/t/17502.aspx/2/10

+0

mais j'ai lu quelque chose comme canal de communication duplex dans wcf !!! –

+0

Oui, le canal duplex est en réalité une double connexion TCP, donc vous avez deux connexions l'une pour publier les données et l'autre pour le recevoir du serveur, juste lire le lien que j'ai mentionné. – AlexTheo

+0

merci AlexTheo –