SOCKETS

02/05/2005 - 15:53 por Mariano | Informe spam
Hola a todos los del grupo,
He creado un servidor en c# con sockets tipo tcp/ip para recepcion y envio
de datos lo cual lo hago de manera asincrónica. Tambien e creado un cliente
hecho en vb6 el cual le envia y recibe los datos hacia y desde el servidor
utilizo la API del winsock(funciona correctamente).

Ahora la pregunta es, del lado del servidor, existe alguna manera fiable o
algun metodo o algo que tengo que enviar en la trama, para determinar cuando
es el final del mensaje???, e estado utilizando la propiedad Available para
determinar si ya no hay más datos pero esto no me esta dando resultado
puesto que algunas veces este me devuelve 0 cuando si se encuentran datos en
el buffer del socket. Ojo estoy utilizando sockets puros no uso TCPClient ni
TCPListener y para recibir los datos uso un arreglo de bytes no uso
NetworkStream.

Gracias de antemano,
Mariano
 

Leer las respuestas

#1 toniusco
09/05/2005 - 17:25 | Informe spam
Mariano si analizas el socket, en la cabecera ip o cabecera tcp hay una
serie de bits de control que te dicen si es el ultimo fragmento del mensaje,
mira en internet el formato d las cabecera ip y tcp.
espero k esta fuese tu duda.
un saludo a todos

"Mariano" escribió en el mensaje
news:O$
Hola a todos los del grupo,
He creado un servidor en c# con sockets tipo tcp/ip para recepcion y envio
de datos lo cual lo hago de manera asincrónica. Tambien e creado un


cliente
hecho en vb6 el cual le envia y recibe los datos hacia y desde el servidor
utilizo la API del winsock(funciona correctamente).

Ahora la pregunta es, del lado del servidor, existe alguna manera fiable o
algun metodo o algo que tengo que enviar en la trama, para determinar


cuando
es el final del mensaje???, e estado utilizando la propiedad Available


para
determinar si ya no hay más datos pero esto no me esta dando resultado
puesto que algunas veces este me devuelve 0 cuando si se encuentran datos


en
el buffer del socket. Ojo estoy utilizando sockets puros no uso TCPClient


ni
TCPListener y para recibir los datos uso un arreglo de bytes no uso
NetworkStream.

Gracias de antemano,
Mariano


Preguntas similares