Pourquoi le statut de mon port COM4 de l'ordinateur de libre alors que mon modem téléphone l'utilise?
-
26-09-2019 - |
Question
Voici mon code:
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
Port Mon COM4 est utilisé par mon modem téléphonique, mais selon le code de son statut est libre. Est-ce que je l'ai manqué dans le code et comment je peux trier ces derniers dehors?
La solution
peut être que quel que soit le logiciel qui contrôle votre téléphone est en mode veille, ou quelque chose comme ça?
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow