Package com.zebra.sdk.comm
Class TcpStatusConnection
Object
com.zebra.sdk.comm.ConnectionA
com.zebra.sdk.comm.TcpConnection
com.zebra.sdk.comm.TcpStatusConnection
- All Implemented Interfaces:
Connection,ConnectionWithWriteLogging,com.zebra.sdk.comm.internal.ConnectionI,IpAddressable,StatusConnection,StatusConnectionWithWriteLogging
Establishes a status only TCP connection to a device
package test.zebra.sdk.comm.examples;
import com.zebra.sdk.comm.Connection;
import com.zebra.sdk.comm.ConnectionException;
import com.zebra.sdk.comm.TcpStatusConnection;
import com.zebra.sdk.printer.SGD;
public class TcpStatusConnectionExample {
public static void main(String[] args) throws Exception {
new TcpStatusConnectionExample().sendJSONOverStatusChannel("1.2.3.4");
}
private void sendJSONOverStatusChannel(String theIpAddress) throws ConnectionException {
// Instantiate connection for ZPL TCP port at given address
Connection thePrinterConn = new TcpStatusConnection(theIpAddress, TcpStatusConnection.DEFAULT_STATUS_TCP_PORT);
try {
// Open the connection - physical connection is established here.
thePrinterConn.open();
// This sends down JSON to the status channel to retrieve the 'appl.name' setting
String firmwareVersion = SGD.GET("appl.name", thePrinterConn);
System.out.println("The firmware version is : " + firmwareVersion);
} catch (ConnectionException e) {
// Handle communications error here.
e.printStackTrace();
} finally {
// Close the connection to release resources.
thePrinterConn.close();
}
}
}
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final intThe default Status TCP port for ZPL devices.Fields inherited from class com.zebra.sdk.comm.TcpConnection
DEFAULT_CPCL_TCP_PORT, DEFAULT_ZPL_TCP_PORT, isCardPrinter, serialNumber -
Constructor Summary
ConstructorsConstructorDescriptionTcpStatusConnection(String address) Initializes a new status only instance of theTcpStatusConnectionclass using the default status port of9200.TcpStatusConnection(String address, int port) Initializes a new status only instance of theTcpConnectionclass.TcpStatusConnection(String address, int port, int maxTimeoutForRead, int timeToWaitForMoreData) Initializes a new status only instance of theTcpConnectionclass. -
Method Summary
Modifier and TypeMethodDescriptionReturn the IP address and the status port as the description.toString()ReturnsTCP_STATUS:[address]:[port number].
Theaddressandport numberare the parameters which were passed into the constructor.Methods inherited from class com.zebra.sdk.comm.TcpConnection
getAddress, getConnectionReestablisher, getPortNumberMethods inherited from class com.zebra.sdk.comm.ConnectionA
addWriteLogStream, bytesAvailable, close, getManufacturer, getMaxDataToWrite, getMaxTimeoutForRead, getTimeToWaitForMoreData, isConnected, open, read, read, read, read, readChar, sendAndWaitForResponse, sendAndWaitForResponse, sendAndWaitForValidResponse, sendAndWaitForValidResponse, setMaxDataToWrite, setMaxTimeoutForRead, setReadTimeout, setTimeToWaitForMoreData, waitForData, write, write, writeMethods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface com.zebra.sdk.comm.Connection
bytesAvailable, close, getConnectionReestablisher, getMaxTimeoutForRead, getTimeToWaitForMoreData, isConnected, open, read, read, readChar, sendAndWaitForResponse, sendAndWaitForResponse, sendAndWaitForValidResponse, sendAndWaitForValidResponse, setMaxTimeoutForRead, setTimeToWaitForMoreData, waitForData, write, write, writeMethods inherited from interface com.zebra.sdk.comm.internal.ConnectionI
getManufacturer, getMaxDataToWrite, read, read, setMaxDataToWrite, setReadTimeoutMethods inherited from interface com.zebra.sdk.comm.StatusConnectionWithWriteLogging
addWriteLogStream
-
Field Details
-
DEFAULT_STATUS_TCP_PORT
public static final int DEFAULT_STATUS_TCP_PORTThe default Status TCP port for ZPL devices.- See Also:
-
-
Constructor Details
-
TcpStatusConnection
Initializes a new status only instance of theTcpStatusConnectionclass using the default status port of9200. This constructor will use the default timeouts forConnection.read(). The default timeout is a maximum of 5 seconds for any data to be received. If no more data is available after 500 milliseconds the read operation is assumed to be complete.
To specify timeouts other than the defaults, use:
TcpStatusConnection(String, int, int, int).- Parameters:
address- the IP Address or DNS Hostname.
-
TcpStatusConnection
Initializes a new status only instance of theTcpConnectionclass. This constructor will use the default timeouts forConnection.read(). The default timeout is a maximum of 5 seconds for any data to be received. If no more data is available after 500 milliseconds the read operation is assumed to be complete.
To specify timeouts other than the defaults, use:
TcpStatusConnection(String, int, int, int).- Parameters:
address- the IP Address or DNS Hostname.port- the port number.
-
TcpStatusConnection
public TcpStatusConnection(String address, int port, int maxTimeoutForRead, int timeToWaitForMoreData) Initializes a new status only instance of theTcpConnectionclass. This constructor will use the specified timeouts forConnection.read(). The timeout is a maximum ofmaxTimeoutForReadmilliseconds for any data to be received. If no more data is available aftertimeToWaitForMoreDatamilliseconds the read operation is assumed to be complete.- Parameters:
address- the IP Address or DNS Hostname.port- the port number.maxTimeoutForRead- the maximum time, in milliseconds, to wait for any data to be received.timeToWaitForMoreData- the maximum time, in milliseconds, to wait in-between reads after the initial read.
-
-
Method Details
-
toString
ReturnsTCP_STATUS:[address]:[port number].
Theaddressandport numberare the parameters which were passed into the constructor.- Specified by:
toStringin interfaceConnection- Overrides:
toStringin classTcpConnection- Returns:
- the connection description string.
- See Also:
-
getSimpleConnectionName
Return the IP address and the status port as the description.- Specified by:
getSimpleConnectionNamein interfaceConnection- Overrides:
getSimpleConnectionNamein classTcpConnection- Returns:
- a human-readable description of the connection.
- See Also:
-