Erreur java

Akrouti Ezzeddin Messages postés 63 Statut Membre -  
Akrouti Ezzeddin Messages postés 63 Statut Membre -
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 63 Statut Membre
 
voila le msg récu:
[B@89ae9e
mais le msg correcte c'est un numéro par exemple:137283700927
0
KX Messages postés 19031 Statut Modérateur 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 63 Statut Membre
 
merci KX mais le message c'est le meme envoyer "AT+CIMI"
0
KX Messages postés 19031 Statut Modérateur 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 63 Statut Membre
 
Oui c'est mieux, mais il faut résoudre ce problème c'est une partie de mon PFE, merci pour vos aides.
0