Devo usare WCF per il mio scopo?

2

Ho scritto due programmi che server e client possono connettersi tra loro (un programma per server e un altro per client) con i loro indirizzi IP (programmazione socket).

Ora voglio modificarlo in modo tale che se il client o il server, ad esempio, scrivono qualcosa in textbox , gli altri utenti possono notificarlo.

I miei programmi sono Applicazione Windows Form.

Per questo scopo, dovrei usare WCF?

    
posta Arash 30.09.2012 - 12:10
fonte

1 risposta

7

L'uso di WCF presenta sia vantaggi che svantaggi rispetto alla programmazione diretta dei socket.

Il vantaggio principale è che non è necessario preoccuparsi della programmazione di un loop server o di un protocollo di comunicazione. Hai diviso la tua comunicazione in chiamate funzione / metodo, includi queste funzioni / metodi nell'interfaccia del contratto, crei una classe che la implementa, istanzia e apri un ServiceHost del tipo di quella classe e il tuo server è pronto. Per un bel esempio sintetico, consulta link .

Ci sono alcuni aspetti negativi. Per uno, WCF non è davvero un piccolo argomento, e ci sono buone probabilità che tu continui a leggere nel momento in cui la tua programmazione di socket verrebbe eseguita. Hai bisogno di sapere come vengono definiti gli endpoint, gli indirizzi, i binding e quali combinazioni hanno senso. Inoltre, WCF è una grande cosa con un sacco di abilità e opzioni, e può creare un sovraccarico se usato per compiti molto banali.

Penso che dovresti davvero provare WCF. Le tue attività WCF finora sono semplici. È possibile modificare l'esempio su codeproject per arrivare rapidamente; le persone che scrivono sono lente, quindi l'overhead non è un problema; avrai una comprensione di WCF che potrebbe aiutare il tuo futuro.
D'altra parte, hai già un socket aperto e potresti usarlo per la comunicazione. Dovresti leggere dal socket in un loop, scrivere codice simile due volte (una volta per il packing, una volta per decomprimere dal flusso), assicurati sempre che entrambi i codici ottengano le stesse modifiche, ...

    
risposta data 30.09.2012 - 13:54
fonte

Leggi altre domande sui tag