コード例 #1
0
    /// <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);
        }
    }