Bonjour à tous.
Je suis actuellement en train de mettre en place une application sur mobile en Java (c'est pour début septembre...). L'une des actions réalisées par le smartphone est de se connecter à un serveur privé (pas HTTP, FTP ou autre) pour effectuer deux échanges de trames.
Lorsque le mobile (le client donc) se connecte sans chiffrement (l'objet instancié est un SocketConnection), tout se déroule bien : les trames sont échangées sans problème.
Ca donne ça, en gros :
Code :
- String server = "193.XX.XX.XX";
- int port = XX;
- url = "socket://"+server+":"+port;
- SocketConnection sc = (SocketConnection) Connector.open(url, Connector.READ_WRITE, true);
- sc.setSocketOption(SocketConnection.LINGER, 5);
- InputStream is = sc.openInputStream();
- OutputStream os = sc.openOutputStream();
- os.write(message);
- long t0 = System.currentTimeMillis()+10000;
- while(System.currentTimeMillis() < t0){
- int available = is.available();
- if(available > 0){
- is.read(buff, offset,available);
- }
- }
|
Par contre, dès que je change SocketConnection en SecureConnection, c'est le drame :
La connexion s'etablie bien, le client envoie la premiere trame. Le serveur la reçoit et envoie sa réponse mais le client ne reçoit jamais rien...
Le code :
Code :
- String server = "193.XX.XX.XX";
- int port = XX;
- url = "ssl://"+server+":"+port;
- SecureConnection sc = (SecureConnection) Connector.open(url, Connector.READ_WRITE, true);
- sc.setSocketOption(SocketConnection.LINGER, 5);
- InputStream is = sc.openInputStream();
- OutputStream os = sc.openOutputStream();
- os.write(message);
- long t0 = System.currentTimeMillis()+10000;
- while(System.currentTimeMillis() < t0){
- int available = is.available();
- if(available > 0){
- is.read(buff, offset,available);
- }
- }
|
Quelqu'un a t-il déjà eu ce genre de problème ? Une piste pour me dépanner ?
Merci.