piloter un fax via Java

Discussions sur le développement de JSP, servlets, et Java en général.

Modérateur : Modérateurs

testeurforme
Nouveau membre
Messages : 1
Inscription : mar. 05 déc. 2006, 12:45

piloter un fax via Java

Messagepar testeurforme » mar. 05 déc. 2006, 13:14

Bonjour

J'ai comme projet de faire un logiciel en java afin d'envoyer des fax.
Pour cela j'ai telecharger l'aPI Java(tm) Communication API et j'ai trouver quelques exemples ...
Bien que mon programme se compile et s'execute correctement (en tout cas je n'ai pas d'erreur ni à la compilation ni a l'execution) je n'arrive pas a envoyer des commandes Hayes à mon modem.
Ce qui est d'autant plus etrange c'est que lorsque je lance cette classe, et qu'ensuite j'interroge mon modem via Windows, ce dernier ne repond plus! C'est donc que mes commandes ont quand meme eu un effet sur le modem...

Je vous met ci dessous le code que j'utilise , si quelque'un a une idée de ce que je dois faire (ou ne pas faire) ...
Dans tous les cas je vous remercie d'avoir pris la peine de lire mon post !
bonne journée

le lanceur :

public class TestSimpleWrite {

public static void main(String arg[]){
SimpleWrite testeurPort = new SimpleWrite();
testeurPort.setDelaiObtentionPort(10000);
testeurPort.initWin32Driver();
testeurPort.AffichageListPort();
testeurPort.getPort("COM1");
testeurPort.lanceCommande();
testeurPort.libereSerialPort();
}
}


la classe qui me pose problème


import com.sun.comm.Win32Driver;
import java.io.*;
import java.util.*;
import javax.comm.*;

public class SimpleWrite {
public Enumeration portList;
public CommPortIdentifier portId;
public SerialPort serialPort;
public OutputStream outputStream;
private int delaiObtentionPort; //milliseconde
private int bauds;

public SimpleWrite() {
portList = CommPortIdentifier.getPortIdentifiers();
}

public void setDelaiObtentionPort(int delai) {
delaiObtentionPort = delai;
}

public void setBaud(int newBaud) {
bauds = newBaud;
}

public void AffichageListPort() {
CommPortIdentifier portCourant = null;
System.out.println("Affichage de la liste des ports ");
boolean fin = false;
while (!fin) {
try {
if (portList.hasMoreElements()) {
portCourant = (CommPortIdentifier) portList.nextElement();
System.out.println(portCourant.getName());
}
else {
fin = true;
}
}
catch (NoSuchElementException ex) {
System.out.println("Exception plus de port ");
}
}
}

public void initWin32Driver() {
System.out.println("initialisation du driver ");
Win32Driver w32Driver = new Win32Driver();
w32Driver.initialize();
}

public void libereSerialPort() {
serialPort.close();
}


public void paramSerialPort() {
try {
serialPort.setFlowControlMode(SerialPort.FLOWCONTROL_NONE);
serialPort.setSerialPortParams(bauds, SerialPort.DATABITS_8, SerialPort.STOPBITS_1, SerialPort.PARITY_NONE);
}
catch (UnsupportedCommOperationException ex) {
System.out.println("Erreur Paramatrage du port '" + serialPort.getName() + "' " + ex.toString());
ex.printStackTrace();
}

serialPort.notifyOnDataAvailable(true);
serialPort.notifyOnCarrierDetect(true);
serialPort.notifyOnDataAvailable(true);
serialPort.notifyOnBreakInterrupt(true);
serialPort.notifyOnCTS(true);
serialPort.notifyOnDSR(true);
serialPort.notifyOnFramingError(true);
serialPort.notifyOnOutputEmpty(true);
serialPort.notifyOnOverrunError(true);
serialPort.notifyOnParityError(true);
serialPort.notifyOnRingIndicator(true);

}

public void lanceCommande() {
String m0 = "AT";
String m1 = "ATE1";
String m2 = "ATI";
String m3 = "AT&Z0=T12345678";
String m4 = "ATD0140127674\n";
String m5 = "ATDS=0";

try {
outputStream = serialPort.getOutputStream();
System.out.println("Recuperation du outPutStream : OK ");
}
catch (IOException e) {
System.out.println("Erreur recuperation outPutStream " + e.toString());
e.printStackTrace();
}
try {
serialPort.setSerialPortParams(9600,
SerialPort.DATABITS_8,
SerialPort.STOPBITS_1,
SerialPort.PARITY_NONE);
System.out.println("Parametrage du modem : OK");
}
catch (UnsupportedCommOperationException e) {
System.out.println("Impossible de parametrer " + e.toString());
e.printStackTrace();
}
try {
outputStream.write(m0.getBytes());
System.out.println("ecriture de m1 (" + m0 + ") OK");

outputStream.write(m1.getBytes());
System.out.println("ecriture de m2 (" + m1 + ") OK");

outputStream.write(m2.getBytes());
System.out.println("ecriture de m0 (" + m2 + ") OK");

outputStream.write(m3.getBytes());
System.out.println("ecriture de m3 (" + m3 + ") OK");

outputStream.write(m4.getBytes());
System.out.println("ecriture de m4 (" + m4 + ") OK");

outputStream.write(m5.getBytes());
System.out.println("ecriture de m5 (" + m5 + ") OK");

outputStream.close();

}
catch (IOException e) {
System.out.println("Impossible d'ecrire " + e.toString());
e.printStackTrace();
}
}


public void getPort(String nomPort) {
CommPortIdentifier portId = null;
try {
portId = CommPortIdentifier.getPortIdentifier(nomPort);
}
catch (NoSuchPortException ex) {
System.out.println("erreur Port '" + nomPort + "' " + ex.toString());
ex.printStackTrace();
}
try {
serialPort = (SerialPort) portId.open("Mon_Appli", delaiObtentionPort);
System.out.println("Obtention du port '" + serialPort.getName() + "' : OK");
}
catch (PortInUseException ex) {
System.out.println("erreur Port '" + nomPort + "' deja ouvert : " + ex.toString());
ex.printStackTrace();
}
}
}

Revenir vers « Java »

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 2 invités