![Siemens TC45 Скачать руководство пользователя страница 64](http://html.mh-extra.com/html/siemens/tc45/tc45_user-manual_375438064.webp)
TC45 TC45 JAVA User's Guide
Confidential / Released
TC45_JAVA User's Guide_V02
Page 64 of 72
30.06.2003
rcv = 0;
while(((char)rcv != 'q') && ((char)rcv != 'Q') && (rcv != -1)){
rcv = dataIn.read();
if (rcv >= 0) {
System.out.print((char)rcv);
}
}
/* The example continues after the next block of text */
In
…/Siemens/SMTK/TC45/IMPSiemens/src/examples
a complete data connection example,
DataConnectionDemo.java, can be found.
These streams behave slightly differently than regular data streams. The streams are not
closed by using the close() method. A stream remains open until the
release()
method is
called. A module can be switched from the data mode to the AT command mode by calling
the
breakConnection()
method.
/* continue example */
if (rcv != -1) {
// Now break the data connection
System.out.println("\n\n\rBreaking connection");
try {
strRcv = ATCmd.breakConnection();
} catch(Exception e) {
System.out.println(e);
}
System.out.println("received: " + strRcv);
} else {
// Received EOF, somebody else broke the connection
System.out.println("\n\n\rSomebody else switched to " +
"command mode!");
}
System.out.println("Hanging up");
strRcv = ATCmd.send("ATH\r");
System.out.println("received: " + strRcv);
} catch(IOException e) {
System.out.println(e);
}
} else {
System.out.println("No data connection established,");
}
An IOException is thrown if any function of the I/O streams are called when the module is in
AT command mode
11.1.1.4 Synchronization
For performance reasons there is no synchronization done in this class. If an instance of this
class has to be accessed from different threads it has to be ensured that the
send()
functions, the
release()
function, the
cancelCommand()
function and the
breakConnection()
function are synchronized in the user implementation.