Estoy trabajado en una aplicación cliente/servidor, para ello utilizo TcpClient, TcpListener y socket. Fuera de otras cosillas bueno para hacerla corta solo pondré lo necesario, puesto que el código es re extenso.

La conexión:
para hacer la conexión este es el orden cronologico que utilizo:
Servidor:
En el servidor declaro esto, para que escuche al cliente de red TCP:
Código:
De esta forma le digo que escuche!!1.- Private tcpLsn As New TcpListener(Puerto_Escucha) 2.- Public Socket As Socket
Código:
De esta forma guardo el socket que utilizo para mantener la conexión (Espero al cliente)3.- tcpLsn.Start()
Código:
Cliente:4.- Socket = tcpLsn.AcceptSocket()
Aquí declaro 2 variables dentro de la clase
Código:
Y para hacer la conexión uso esto:5.- Private tcpClnt As TcpClient 6.- Private Flujo As Stream
Código:
Le indico la IP y el Puerto que debe utilizar 7.- tcpClnt = New TcpClient
Código:
Devuelve la NetworkStream usada para enviar y recibir datos.8.- tcpClnt.Connect(IP_Host, Puerto_Host)
Código:
Bueno de esta forma conecto las 2 aplicaciones y la verdad no hay problema el asunto ocurre al enviar datos, desde el servidor al cliente.9.- Flujo = tcpClnt.GetStream()
Lo cual lo hago de esta forma:
Desde el servidor utilizo el socket:
Código:
Donde Datos es una variable de tipo stringSocket.Send(Encoding.ASCII.GetBytes(Datos.Trim))
Y desde el cliente se encuentra el flujo
Código:
Y lo transformo el buffer de esta forma a string para ser leídoBufferDeLectura = New Byte(50) {} Flujo.Read(BufferDeLectura, 0, BufferDeLectura.Length)
Código:
Justo aquí comienza el problema ya que cuando utilizo, el string que me entrega el cliente en una concatenación para genera una instrucción SQL y al ejecutar la instrucción el programa se cayo, y me tiro el siguiente error: Encoding.ASCII.GetString(BufferDeLectura).Trim
System.Data.SqlClient.SqlException: Los datos de cadena o binarios se truncarían.
Y al revisar la instrucción SQL. Me di cuenta de que faltaba parte de la instrucción, a todo esto el mensaje que envié era “Rechazo” y claro, el mensaje llego pero al parecer tenía espacios en blanco después del final…
Entonces lo primero que intente fue hacer un trim pero no funciono, luego trate de pasarla por otra variable, pero tampoco funciono, en síntesis la instrucción SQL quedo así:
UPDATE RecepcionPupilo SET Estado = 'Rechazo
Segun lo que me indica el Error, enviado es obvio que se salio del tamaño de el tipo que le di al campo en la base, el asunto es por que??



De ante manos muchas gracias por su tiempo..
Víctor Rodríguez
Santiago de chile
Recuerden Enseñar es la mejor forma de aprender