0
Voici mon code:Pourquoi le port COM4 de mon ordinateur est-il libre pendant que mon modem le utilise?
import java.io.*;
import java.util.*;
import javax.comm.*;
public class SMS {
public static void main(String[] args) {
Enumeration lists=CommPortIdentifier.getPortIdentifiers();
System.out.println(CommPortIdentifier.PORT_SERIAL);
System.out.println(lists.hasMoreElements());
while (lists.hasMoreElements()){
CommPortIdentifier cn=(CommPortIdentifier)lists.nextElement();
if ((CommPortIdentifier.PORT_SERIAL==cn.getPortType())){
System.out.println("Name is serail port "+cn.getName()+" Owned status "+cn.isCurrentlyOwned());
try{
SerialPort port1=(SerialPort)cn.open("ComControl",800000);
port1.setSerialPortParams(9600, SerialPort.DATABITS_8, SerialPort.STOPBITS_1, SerialPort.PARITY_NONE);
System.out.println("Before get stream");
OutputStream out=port1.getOutputStream();
InputStream input=port1.getInputStream();
System.out.println("Before write");
out.write("AT".getBytes());
System.out.println("After write");
int sample=0;
//while(((sample=input.read())!=-1)){
System.out.println("Before read");
//System.out.println(input.read() + "Testing ");
//}
System.out.println("After read");
System.out.println("Receive timeout is "+port1.getReceiveTimeout());
}catch(Exception e){
System.err.println(e.getMessage());
}
}
else{
System.out.println("Name is parallel port "+cn.getName()+" Owned status "+cn.isCurrentlyOwned()+cn.getPortType()+" ");
}
}
}
}
Ceci est la sortie:
1 true Name is serail port COM1 Owned status false Before get stream Before write After write Before read After read Receive timeout is -1 Name is serail port COM2 Owned status false Before get stream Before write After write Before read After read Receive timeout is -1 Name is serail port COM3 Owned status false Before get stream Before write After write Before read After read Receive timeout is -1 Name is serail port COM4 Owned status false Before get stream Before write After write Before read After read Receive timeout is -1 Name is parallel port LPT1 Owned status false2 Name is parallel port LPT2 Owned status false2
mon port COM4 est utilisé par mon modem téléphonique, mais selon le code de son statut est libre. Y at-il quelque chose que j'ai manqué dans le code et comment puis-je les régler?