MultichannelTcpConnection Class |
Namespace: Zebra.Sdk.Comm
The MultichannelTcpConnection type exposes the following members.
Name | Description | |
---|---|---|
MultichannelTcpConnection(DiscoveredPrinter) |
Initializes a new instance of the MultichannelTcpConnection class.
| |
MultichannelTcpConnection(String, Int32, Int32) |
Initializes a new instance of the MultichannelTcpConnection class.
| |
MultichannelTcpConnection(DiscoveredPrinter, Int32, Int32) |
Initializes a new instance of the MultichannelTcpConnection class.
| |
MultichannelTcpConnection(String, Int32, Int32, Int32, Int32) |
Initializes a new instance of the MultichannelTcpConnection class.
| |
MultichannelTcpConnection(DiscoveredPrinter, Int32, Int32, Int32, Int32) |
Initializes a new instance of the MultichannelTcpConnection class.
| |
MultichannelTcpConnection(String, Int32, Int32, Int32, Int32, Int32, Int32) |
Initializes a new instance of the MultichannelTcpConnection class.
|
Name | Description | |
---|---|---|
Connected |
Returns true if the connection is open.
(Inherited from MultichannelConnection.) | |
MaxTimeoutForRead |
Gets or sets the maximum time, in milliseconds, to wait for any data to be received.
(Inherited from MultichannelConnection.) | |
PrintingChannel |
Gets the underlying printing Connection of this MultichannelConnection.
(Inherited from MultichannelConnection.) | |
SimpleConnectionName |
Return the IP address as the description.
(Overrides MultichannelConnectionSimpleConnectionName.) | |
StatusChannel |
Gets the underlying status StatusConnection of this MultichannelConnection.
(Inherited from MultichannelConnection.) | |
TimeToWaitForMoreData |
Gets or sets the maximum time, in milliseconds, to wait in-between reads after the initial read.
(Inherited from MultichannelConnection.) |
Name | Description | |
---|---|---|
AddWriteLogStream |
Sets the stream to log the write data to.
(Inherited from MultichannelConnection.) | |
BytesAvailable |
Returns an estimate of the number of bytes that can be read from this connection without blocking.
(Inherited from MultichannelConnection.) | |
Close |
Closes both the printing and status channels of this MultichannelConnection.
(Inherited from MultichannelConnection.) | |
ClosePrintingChannel |
Closes the printing channel of this MultichannelConnection.
(Inherited from MultichannelConnection.) | |
CloseStatusChannel |
Closes the status channel of this MultichannelConnection.
(Inherited from MultichannelConnection.) | |
Equals | Determines whether the specified object is equal to the current object. (Inherited from Object.) | |
GetConnectionReestablisher |
Returns a ConnectionReestablisher which allows for easy recreation of a connection which may have been closed.
(Overrides MultichannelConnectionGetConnectionReestablisher(Int64).) | |
GetHashCode | Serves as the default hash function. (Inherited from Object.) | |
GetType | Gets the Type of the current instance. (Inherited from Object.) | |
Open |
Opens both the printing and status channel of this Multichannel connection.
(Inherited from MultichannelConnection.) | |
OpenPrintingChannel |
Opens the printing channel of this Multichannel connection.
(Inherited from MultichannelConnection.) | |
OpenStatusChannel |
Opens the status channel of this Multichannel connection.
(Inherited from MultichannelConnection.) | |
Read |
Reads all the available data from the connection. This call is non-blocking.
(Inherited from MultichannelConnection.) | |
Read(BinaryWriter) |
Reads all the available data from the connection.
(Inherited from MultichannelConnection.) | |
ReadChar |
Reads the next byte of data from the connection.
(Inherited from MultichannelConnection.) | |
SendAndWaitForResponse(Byte, Int32, Int32, String) |
Sends dataToSend and returns the response data.
(Inherited from MultichannelConnection.) | |
SendAndWaitForResponse(BinaryWriter, BinaryReader, Int32, Int32, String) |
Sends data from sourceStream and writes the response data to destinationStream.
(Inherited from MultichannelConnection.) | |
SendAndWaitForValidResponse(Byte, Int32, Int32, ResponseValidator) |
Sends dataToSend and returns the response data.
(Inherited from MultichannelConnection.) | |
SendAndWaitForValidResponse(BinaryWriter, BinaryReader, Int32, Int32, ResponseValidator) |
Sends data from sourceStream and writes the response data to destinationStream.
(Inherited from MultichannelConnection.) | |
ToString |
The Address, PrintingPort, and StatusPort are the parameters which were passed into the constructor.
(Overrides ObjectToString.) | |
WaitForData |
Causes the currently executing thread to sleep until BytesAvailable > 0, or for a maximum of
maxTimeout milliseconds.
(Inherited from MultichannelConnection.) | |
Write(Byte) |
Writes data.Length bytes from the specified byte array to this output stream.
(Inherited from MultichannelConnection.) | |
Write(BinaryReader) |
Writes all available bytes from the data source to this output stream.
(Inherited from MultichannelConnection.) | |
Write(Byte, Int32, Int32) |
Writes length bytes from data starting at offset.
(Inherited from MultichannelConnection.) |
Name | Description | |
---|---|---|
DEFAULT_MULTICHANNEL_PRINTING_PORT |
The default Multichannel printing port for Link-OS devices.
| |
DEFAULT_MULTICHANNEL_STATUS_PORT |
The default Multichannel status port for Link-OS devices.
|
using System; using Zebra.Sdk.Comm; using Zebra.Sdk.Printer; public class MultichannelTcpConnectionExample { public static void Main(string[] args) { new MultichannelTcpConnectionExample().SimpleExample("1.2.3.4"); new MultichannelTcpConnectionExample().NonBlockingStatusReporting("1.2.3.4"); } private void SimpleExample(string theIpAddress) { // Instantiate Multichannel connection for simultaneous printing and status reporting at given address Connection thePrinterConn = new MultichannelTcpConnection(theIpAddress, MultichannelTcpConnection.DEFAULT_MULTICHANNEL_PRINTING_PORT, MultichannelTcpConnection.DEFAULT_MULTICHANNEL_STATUS_PORT); try { // Opens the connection - physical connection is established here. thePrinterConn.Open(); // Creates a Link-OS printing with the given connection ZebraPrinterLinkOs linkOsPrinter = ZebraPrinterFactory.GetLinkOsPrinter(thePrinterConn); // This is sent over the printing channel (9100 by default) linkOsPrinter.PrintConfigurationLabel(); // This is sent over the status channel (9200 by default) PrinterStatus status = linkOsPrinter.GetCurrentStatus(); Console.WriteLine("The printer PAUSED state is : " + status.isPaused); } catch (ConnectionException e) { // Handle communications error here. Console.WriteLine(e.ToString()); } finally { // Close the connection to release resources. thePrinterConn.Close(); } } private void NonBlockingStatusReporting(string theIpAddress) { // Instantiate Multichannel connection for simultaneous printing and status reporting at given address Connection thePrinterConn = new MultichannelTcpConnection(theIpAddress, MultichannelTcpConnection.DEFAULT_MULTICHANNEL_PRINTING_PORT, MultichannelTcpConnection.DEFAULT_MULTICHANNEL_STATUS_PORT); try { // Opens the connection - physical connection is established here. thePrinterConn.Open(); // Creates a Link-OS printing with the given connection ZebraPrinterLinkOs linkOsPrinter = ZebraPrinterFactory.GetLinkOsPrinter(thePrinterConn); // This is sent over the printing channel (9100 by default) and will block the printing channel until the // label format is completely sent. string labelFormatStartCommand = "^XA"; linkOsPrinter.SendCommand(labelFormatStartCommand); string labelBody = "^FO20,20^A0N,25,25^FDThis is a ZPL test.^FS"; linkOsPrinter.SendCommand(labelBody); // This is sent over the status channel (9200 by default) and will return immediately even though the // printing channel is in use. // If a TcpConnection were used instead of a MultichannelTcpConnection, this would not be possible. PrinterStatus status = linkOsPrinter.GetCurrentStatus(); Console.WriteLine("The printer PAUSED state is : " + status.isPaused); // Send the end of label command to finish and print the label. string labelFormatEndCommand = "^XZ"; linkOsPrinter.SendCommand(labelFormatEndCommand); } catch (ConnectionException e) { // Handle communications error here. Console.WriteLine(e.ToString()); } finally { // Close the connection to release resources. thePrinterConn.Close(); } } }