Erreur java

Akrouti Ezzeddin Messages postés 50 Date d'inscription   Statut Membre Dernière intervention   -  
Akrouti Ezzeddin Messages postés 50 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Bonsoir tout le monde, j'ai crée un code java pour envoyer une commande AT a mon clé Orange(3G) et reçois un message qui contient le résultat. Mais le message reçu n'est pas convenable.
Merci pour vos réponses.
Voila le code:
package client;
import java.io.ByteArrayOutputStream;
import java.io.DataInputStream;
import java.io.DataOutputStream;
	import java.io.IOException;
	import java.io.InputStream;
	import java.io.OutputStream;
	import java.net.InetAddress;
	import java.net.InetSocketAddress;
	import java.net.Socket;
	import java.util.Enumeration;
import javax.comm.*;
public class Test 
{
		/**
		 * @param args
		 * @throws NoSuchPortException 
		 * @throws PortInUseException 
		 * @throws IOException 
		 * @throws UnsupportedCommOperationException 
		 * @throws InterruptedException 
		 */
		public static void main(String[] args) throws NoSuchPortException, PortInUseException, IOException, UnsupportedCommOperationException, InterruptedException {	
			Enumeration<CommPortIdentifier> enumP = CommPortIdentifier.getPortIdentifiers();
			Socket client = null;
			
			while(enumP.hasMoreElements()) {
				try
				{
				CommPortIdentifier tmp = enumP.nextElement();
				System.out.println(tmp.getName());
				SerialPort serial = (SerialPort) tmp.open("eee", 2000 );
				serial.setSerialPortParams(19200, SerialPort.DATABITS_8,SerialPort.STOPBITS_1,  SerialPort.PARITY_NONE);
				serial.notifyOnDataAvailable(true);
				serial.notifyOnOutputEmpty(true);
				serial.getOutputStream().write("AT+CIMI".getBytes());
				InputStream is = serial.getInputStream();
				byte[] b = new byte[512];
				is.read(b);
				String s=b.toString().trim();
				System.out.println("Le message réçu est :\n" +s);
				System.out.println("Finished");
				serial.close();
				}catch(Exception e)
				{
					e.getStackTrace();
				}
			}
		}
	}



A voir également:

1 réponse

Akrouti Ezzeddin Messages postés 50 Date d'inscription   Statut Membre Dernière intervention  
 
voila le msg récu:
[B@89ae9e
mais le msg correcte c'est un numéro par exemple:137283700927
0
KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   3 020
 
Si c'est juste ça l'erreur, ce n'en est pas une, c'est que tu as fait String s=b.toString().
Or b est un tableau, il ne peut pas être affiché comme ça... Essayes plutôt String s = new String(b);
0
Akrouti Ezzeddin Messages postés 50 Date d'inscription   Statut Membre Dernière intervention  
 
merci KX mais le message c'est le meme envoyer "AT+CIMI"
0
KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   3 020
 
C'est déjà mieux que "[B@89ae9e" !
Après je ne connais pas les protocoles de communications que tu utilises, alors je ne sais pas pourquoi tu reçois ce que tu as envoyé et pas ce que tu voudrais.
0
Akrouti Ezzeddin Messages postés 50 Date d'inscription   Statut Membre Dernière intervention  
 
Oui c'est mieux, mais il faut résoudre ce problème c'est une partie de mon PFE, merci pour vos aides.
0