Problemas con conexion Socket TCP

Printer-friendly versionPrinter-friendly versionSend to friendSend to friend

Estimados:
Abro este tema con la finalidad de que me puedan ayudar con otro incinveniente que tengo con mi equipo i570 cuando pretendo establecer una conexion Socket TCP con un servidor montado en una PC. El problema pasa cuando intento establecer la conexion con la aplicacion montada en mi celular, esta me da una Excepcion ( java.io.IOException: Close Indication on Open0 )

Esta excepcion la da cuando ejecuto mi codigo

try {

// Abrimos el socket que establecerá conexión con el servidor
sc = (SocketConnection)Connector.open "socket://190.244.??.??:2500");
sc.setSocketOption( sc.DELAY,0 );
sc.setSocketOption( sc.KEEPALIVE,0 );
formulario.setTitle("Cliente -> Conectado");
mensaje.setText("Conexión establecida..");

// los canales de conexión para recibir y enviar

is = sc.openInputStream();
os = sc.openOutputStream();

//envío de mensajes hacia el servidor al que
// nos hemos conectado

tEnvio = new TareaEnviar();
tEnvio.start();

// Nos quedamos a la espera de la recepción de mensajes que nos envíe el servidor
while( true ) {
StringBuffer sb = new StringBuffer();
int ch = 0;
while( ((ch = is.read()) != -1 ) && (ch != '\n') ) {
sb.append( (char)ch );
}
StringBuffer sbx = new StringBuffer( mensaje.getText()+ "\nMsg-> "+sb.toString() );
mensaje.setText( sbx.toString() );
}

} catch( ConnectionNotFoundException ce ) {
mensaje.setText("No hace conexion");
formulario.setTitle("No found connection");
Alert a = new Alert( "Cliente", "Debes lanzar serv.",
null,AlertType.ERROR );
a.setTimeout( Alert.FOREVER );
a.setCommandListener( this );
display.setCurrent( a );
} catch( Exception e ) {
mensaje.setText("no hace conexion" + e);
}

Cabe señalar que cuando pruebo con el servidor y el cliente en la misma maquina funciona y mismo si pruebo con el servidor en otra maquina y el cliente en otra PC tambien. El problema es con la aplicacion corriendo en el NEXTEL. El telefono tiene acceso a la red de datos y salida a internet, por si alguno se lo pregunta.

Si tienen alguna sugerencia les agradecere mucho.

Desde ya muchisimas gracias.

Hola, Yo estuve teniendo

Hola,
Yo estuve teniendo problemas con las conexiones TCP, en mi caso me ha funcionado de la forma más básica como para hacer pruebas. Yo abro la conexión de la forma:
SocketConnection socketConnection = (SocketConnection) Connector.open(url, Connector.READ_WRITE); en tu caso al abrir el socket no veo que le estás poniendo el modo de acceso, en mi caso (READ_WRITE).
Luego en la lectura, he tenido problemas cuando pongo el char del salto de línea "\n", te recomendaría poner defrente el hexadecimal "13"

Slds!
Juan Carlos

Close Indication on open0 - falta de servicio

Hola jmechague,

Es indica que no tienes el plan de datos adecuado. En la Argentina, se te tendría que activar un paquete NOL con IP NAT.

Le daré tu información al contacto de apoyo a desarrolladores en Argentina para que te pueda apuntar en la dirección correcta.

Saludos,

Juan Felipe

Hola jmechague, Estoy en la

Hola jmechague,

Estoy en la parte de consultoría de datos en Nextel Argentina.

Te dejo mi mail para que sigamos desde allí:

pablo.branconi@nextel.com.ar