Cos'è un buon tutorial / howto sulla programmazione socket .net / c # [chiuso]
-
01-07-2019 - |
Domanda
Sto eseguendo il porting del vecchio codice VB6 che utilizza il controllo Winsock su C #. Non ho fatto alcuna programmazione socket e mi chiedo se qualcuno ha un buon riferimento / tutorial / howto che posso usare per iniziare a mettermi al passo.
Faccio appello alla mente dell'alveare mentre procedo con il mio googling generalmente improduttivo.
Attualmente sto usando UDP, non TCP.
Soluzione
La rivista MSDN di agosto 2005 ha pubblicato un articolo su System.Net.Sockets e WinSock:
Altri suggerimenti
- Raccomando il modello asincrono per la maggior parte delle applicazioni, soprattutto se si desidera prestazioni o applicazioni che non si bloccano non appena si verifica un problema di rete. Per questo gli articoli MSDN su Socket.BeginConnect e Socket.BeginReceive sono buoni punti di partenza.
- Il seguente link non è .NET, ma molti dei consigli sono ancora validi: http : //tangentsoft.net/wskfaq/articles/lame-list.html
MSDN è un buon punto di partenza
Stai lavorando a: un cliente ( TCPClient ) o un server ( TCPListener )
Solo un avvertimento:
Consiglierei di lavorare prima con TCP piuttosto che con UDP. UDP non riconsegna automaticamente i pacchetti persi come TCP, quindi aggiungerà un altro elemento all'equazione che probabilmente ti confonderà appena hai appena iniziato.
La creazione di un client socket è relativamente semplice utilizzando la classe TCPClient disponibile nella libreria .Net. TCPListener è abbastanza facile da usare per un singolo client ma se speri di sviluppare qualche applicazione di tipo server (IE: gestione di connessioni multiple), il vero ostacolo che dovrai superare è comprendere il multithreading.
Dopo aver giocato con le prese a connessione singola, ti suggerisco di leggere sul multithreading.