example - tcpclient c# ejemplo
¿Cuáles son los beneficios de usar TcpClient sobre un Socket directamente? (1)
Entiendo que un TcpClient es un envoltorio alrededor de la clase de socket, y puedo acceder al socket subyacente si uso el TcpClient, pero ¿qué hace exactamente el envoltorio?
Cuando utilizo el TCPClient, ¿tengo que seguir llamando a Receive () como hago con un socket o el contenedor se asegura de que todos mis datos aparecen?
Por último, ¿puedo usar el TcpClient tanto en el servidor como en el cliente para envolver el socket (después de usar TcpListener para aceptar la conexión original en el servidor)
¿Qué hace exactamente la envoltura?
Déjame explicarte esto con un ejemplo. Tienes un método en C # File.ReadAllLines
. Lee todas las líneas del archivo por ti. Ahora también puede obtener los mismos resultados a través de la clase FileStream
o cualquier otra clase que lea el archivo ... PERO ... el File.ReadAllLines
, es decir, File.ReadAllLines
, le permite lograr lo mismo con menos líneas de código. Los envoltorios siempre aumentan la productividad al abstraer los detalles de bajo nivel
Cuando utilizo el TCPClient, ¿tengo que seguir llamando a Receive () como hago con un socket o el contenedor se asegura de que todos mis datos aparecen?
TCPClient
no tiene un método de Receive
como Socket
pero la idea es la misma. Tendrá que usar métodos como GetStream
para leer los datos que no aparecerán automáticamente para usted
¿Puedo usar el TcpClient tanto en el servidor como en el cliente para envolver el socket?
Sí, puede usarlo de forma segura tanto en el lado del cliente como del servidor