Non vedo molto l'uso di TCPClient
, eppure c'è un sacco di Socket
? Qual è la principale differenza tra loro e quando useresti ciascuno?TCPClient vs socket in C#
Comprendo che .NET Socket
è scritto sopra WINSOCK e TCPClient
è un wrapper su classe Socket
. Pertanto, TCPClient
è molto più lungo della catena e probabilmente inefficiente. Correggimi se sbaglio
"stile" è una parola grossa per "senso comune" qui. Se è possibile utilizzare un prefabbricato, con tutti i mezzi, farlo :) – xtofl
La nota qui sembra contraddire questo. http://msdn.microsoft.com/en-us/library/system.net.sockets.socket%28v=vs.110%29.aspx "Se stai scrivendo un'applicazione relativamente semplice e _do non richiede prestazioni massime_, considera utilizzando TcpClient " – Jon
Non c'è alcuna contraddizione. L'ipotesi generale su un livello più alto di astrazione è che è meno flessibile per quanto riguarda la funzionalità sottostante. Quindi, se devi fare qualcosa che non si adatta al modello di dire, 'TcpClient', potresti finire per torcere e piegare la sua API e perdere in leggibilità e prestazioni nel processo. Se lo stai utilizzando per quello che è stato progettato per fare, tuttavia non vi è alcun motivo intrinseco per credere che funzionerà meno bene di un'API più esplicita, ma guadagnerai leggibilità. – tne