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(); } } }