Problema con socket en java y c++Estoy conectandom
Publicado por Syl (1 intervención) el 10/07/2009 22:12:06
Estoy conectandome a un servidor desarrollado en java el cual utiliza sys/socket.h y usa
la clase DataInputStream, para comunicarse usa específicamente readUTF de la forma:
in = new DataInputStream(socket.getInputStream());
inputString = in.readUTF()
Mi aplicación en C++ usa winsock2.h y utilizo el método send para enviar las tramas al servidor java así:
#define MAXLONGITUD 10000
char bufEnviados[MAXLONGITUD + 1];
bufEnviados[0] = (0xff & (longitud >> 8));
bufEnviados[1] = (0xff & longitud);
send(sock, bufEnviados,strlen(bufEnviados), 0 );
Envío los dos primeros caracteres con formato UTF para que el servidor en java los pueda reconocer.
La aplicación funcionó correctamente hasta que recibió una trama mayor de 6.236 caracteres después de lo cual cierra la conexión con el socket y se cae mi aplicación!
He realizado varias pruebas y no logro enviar más de esos 6.236 caracteres, sin embargo si logro recibir cualquier cantidad de caracteres sin problemas!
Alguien puede ayudarme a resolver este problema? estoy intentando de todo y no lo logro!
De antemano muchas gracias!
la clase DataInputStream, para comunicarse usa específicamente readUTF de la forma:
in = new DataInputStream(socket.getInputStream());
inputString = in.readUTF()
Mi aplicación en C++ usa winsock2.h y utilizo el método send para enviar las tramas al servidor java así:
#define MAXLONGITUD 10000
char bufEnviados[MAXLONGITUD + 1];
bufEnviados[0] = (0xff & (longitud >> 8));
bufEnviados[1] = (0xff & longitud);
send(sock, bufEnviados,strlen(bufEnviados), 0 );
Envío los dos primeros caracteres con formato UTF para que el servidor en java los pueda reconocer.
La aplicación funcionó correctamente hasta que recibió una trama mayor de 6.236 caracteres después de lo cual cierra la conexión con el socket y se cae mi aplicación!
He realizado varias pruebas y no logro enviar más de esos 6.236 caracteres, sin embargo si logro recibir cualquier cantidad de caracteres sin problemas!
Alguien puede ayudarme a resolver este problema? estoy intentando de todo y no lo logro!
De antemano muchas gracias!
Valora esta pregunta


0