style="display:inline-block;width:728px;height:90px"
data-ad-client="ca-pub-5164839828746352"
data-ad-slot="7563230308">

¿La librería bluecove falla con la pila para bluetooth, bluesoleil?

Vamos al grano:
Cuando deseo crear una conexión cliente con la librería bluecove, y la pila para bluetooth bluesoleil la aplicación se queda "pegada" en la segunda de éstas dos líneas, ahí donde dice "HeaderSet", nunca avanza:

ClientSession clientSession = (ClientSession)Connector.open(connURL, Connector.READ_WRITE, true);
HeaderSet hs=clientSession.connect(null);

¿Cómo crear conexiones cliente y servidor con bluecove usando la pila bluesoleil, que realmente funcionen?

Ahora si, vienen todas las aclaraciones. Primero, antes que alguien diga que esto debe ir en el foro de discusión de "J2ME", quiero decir que lo incluí aquí porque realmente la aplicación que estoy programando la estoy haciendo en JSE para mi computador portátil, sólo que para gestionar el bluetooth tuve que incluir algunas clases de j2me.

¿Qué es lo que quiero hacer?
Es muy sencillo, quiero crear una aplicación de escritorio en mi portátil que reciba y envie archivos a través de bluetooth y que se pueda conectar con la mayoría o todos los dispositivos bluetooth.

¿Que he estudiado y en que voy?
Bueno, lo que comencé a hacer fue empezar a trabajar en el j2se y agregar a mi proyecto una librería o API llamada Bluecove. Esta librería permite manejar el bluetooth que viene incorporado con mi computador (o en su defecto, con una USB bluetooth). La librería permite detectar dispositivos, enviar y recibir archivos, entre otras cosas. Pero la librería no es suficiente, es necesario tener un software instalado en mi computador que gestione el bluetooth, los software que vienen para esto reciben el nombre de "pila", y entre ellos se encuentran, el bluesoleil, el winsock (propio de windows), el widcomm y el bluez(propio de linux); así uno dice "¿Qué pila para bluetooth tienes instalada?" y uno muy docto en el tema dirá "tengo instalada la pila para bluetooth bluesoleil". Bueno espero hacerme entender.
De cierta forma lo que hace la librería bluecove es manipular la pila bluetooth, para que éste manipule el hardware o, lo que es lo mismo, el dispositivo bluetooth. Algunos dirán ¿Y si la pila ya de por sí envía y recibe archivos para que hacer una aplicación así en java?. Bueno la respuesta es muy sencilla: para automatizar ciertos procesos ¿Acaso no es lo que queremos hacer la mayoría de las veces que programamos? Por ejemplo, para restringir el acceso de ciertos archivos, o para enviar ciertos archivos a ciertos dispositivos, y así.
Retomo. Resulta que algunas pilas son mas quisquillosas que otras. Por ejemplo la pila winsock, por si sola, no permite que le sean enviados archivos desde ciertos celulares, pero cuando se crea una aplicación java para recibir archivos, esta pila se porta muyyy bien, recibe lo que sea de la mayoría de los celulares, pero no de todos. (Aclaro nuevamente que en ningún momento estoy programando nada para el j2me y los celulares, sino que estos aparatitos son un buen ejemplo para explicar en que consiste mi aplicación). Pero repito, la "mayoría" de los celulares y no las mas vejitos. Así que tuve que descartar el winsock, que viene por defecto en el windows vista. Luego analicé el Bluesoleil. Por si sólo es el más versátil, recibe lo que sea de quien sea, hasta de los dispositivos bluetooth mas anticuados. Pero se porta un tanto mal con el java.

¿Cuál es mi problemática?
Venía diciendo que el bluesoleil al parecer se porta mal con el java (o tal vez sea yo el malo programando y esté haciendo prejuicios). Resulta que las líneas que muestro arriba hacen parte de una sesión cliente, es decir, una aplicación en la que busco un dispositivo bluetooth y le digo "¿hey me dejas conectarme para mandarte algo?". En la primera línea creo la conexión, y en la segunda me conecto mediante algo llamado "cabecera",con la cual, luego mando el archivo. Si estas mismas líneas las trabajo con el winsock instalado (sin el bluesoleil por ninguna parte), funcionan de maravilla. Me conecto al dispositivo bluetooth externo y le mando el archivo, todo a pedir de boca; pero cuando instalo el bluesoleil, el programa se queda eternamente en la segunda línea, ni para allá, ni para acá y obviamente no envía el archivo. Algunos dirán "Muchacho necio, pues utiliza el winsock", y les respondo: El winsock no me permite conectarme con todos los dispositivos, especialmente los mas viejitos. El bluesoleil si. Sin embargo existe otra ventaja a favor de winsock y son las aplicaciones servidor. Estas aplicaciones servidor mediante bluetooth son programas que dicen "Hey, estoy acá esperando para recibir algo, no me ignoren!!!". Con el winsock esto funciona de maravilla y me sirve por ejemplo para decirle al programa "No recibas archivos mp3, son muy pesados, recibe solo txt, no necesitamos nada más". Con esto limito el acceso de ciertas cosas. Pero en el bluesoleil no. También se queda en una de las líneas por siempre, ahí pensando tal vez sin saber que hacer.
Como quisiera poder combinar la accesibilidad mediante java de winsock, con la capacidad para conectarse a lo que sea (siempre que tenga bluetooth) del bluesoleil.

Consideraciones finales:
Bueno esa es mi historia. Si alguien conoce o puede aportar una solución a mi problema muchas gracias.

Agradecimientos:
A todos quienes saquen tiempo para leer toda esta verborrea, aporten o no soluciones, y a javamexico por regalarme algunos de sus bytes de almacenamiento para desahogarme.

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.
Imagen de neko069

:| ???

Java hispano????

style="display:inline-block;width:728px;height:90px"
data-ad-client="ca-pub-5164839828746352"
data-ad-slot="7563230308">