2013-02-21 15 views
6

Sto cercando un server socket TCP semplice e veloce scritto in C#. Dovrebbe essere asincrono (eseguito insieme a un'app WinForms) e supportare la ricezione asincrona/l'invio di dati ai client connessi. Ho trovato le seguenti librerie che potrebbero funzionare, ma sto cercando consigli su librerie specifiche.Server socket TCP binario asincrono semplice e veloce?

Sto cercando di inviare dati binari (utilizzando il mio serializzatore personalizzato) da C# a un frontend AS3. Ho già il socket client scritto in AS3 ma ho bisogno di un server socket affidabile in C#.

Quale server socket biblioteca hai usato con successo? Supporta il binario ed è affidabile?

+0

senza sapere cosa si vuole fare, è difficile rispondere. Fondamentalmente, 'Socket' fornisce tutto ciò che hai detto ... e la [async IO API] (http://msdn.microsoft.com/en-us/library/system.net.sockets.socketasynceventargs.aspx) è la uno preferito; ma non hai dato abbastanza informazioni per agire da comparatore qui. Sì, 'Socket' supporta i binari (infatti: * solo * binary), e sì:' Socket' è affidabile ... o almeno, affidabile come le comunicazioni di rete. –

+0

E la mia biblioteca: http://blog.gauffin.org/2012/05/griffin-networking-a-somewhat-performant-networking-library-for-net/ – jgauffin

risposta

6

Alcune persone potrebbero dirti di creare tutto da zero da te stesso, cosa che in realtà non capisco come, come dici tu, è più veloce e più facile da usare una libreria.

Utilizzando networkComms.net, supponendo che si inviino i dati binari come byte [], Esempio di server client semplice - here. Esempio di chat WPF - here. In entrambi gli esempi, invece di inviare e ricevere stringhe, si sostituiscono le sezioni rilevanti con il byte []. 'Rilevante' dovrebbe essere evidente in base agli esempi e ai commenti inclusi.

Devo aggiungere che sono uno sviluppatore di questa libreria.

+0

Qual è il minimo che ho bisogno di usare? Poiché modifico spesso tutto e più piccola è la libreria è più facile da capire e quindi l'aggiornamento è. La sottocartella 'NetworkCommensDotNet' all'interno del codice sorgente è sufficiente? Oppure ho bisogno di tutte quelle classi DPS e di crittografia e compressore? –

+0

Se si desidera il minimo indispensabile, è consigliabile utilizzare solo la DLL di base, piuttosto che preoccuparsi del download dell'origine. Questo contiene il minimo richiesto per il funzionamento della libreria. Se ci sono caratteristiche che pensi manchi, facciamo del nostro meglio per aggiungere qualcosa su richiesta. – MarcF

+0

Ad ogni modo, come posso mantenere un'istanza server attiva e quale metodo posso chiamare per inviare dati a tutti i client su richiesta? (async) –

Problemi correlati