/// <inheritDoc /> public bool PrintData() { //this line is Optional for checking before send data if (!NetworkHelper.CheckIPAddressAndPortNumber(PrinterIPAddress, PortNumber)) { return(false); } IPEndPoint remoteEP = new IPEndPoint(PrinterIPAddress, PortNumber); Socket client = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); client.NoDelay = true; connectDoneEvent = new ManualResetEvent(false); sendDoneEvent = new ManualResetEvent(false); try { client.BeginConnect(remoteEP, new AsyncCallback(connectCallback), client); connectDoneEvent.WaitOne(); client.BeginSend(FileData, 0, FileData.Length, 0, new AsyncCallback(sendCallback), client); sendDoneEvent.WaitOne(); return(true); } catch { return(false); } finally { // Shutdown the client this.shutDownClient(client); } }