C#套接字打印到网络打印机-不';t打印

C#套接字打印到网络打印机-不';t打印,c#,sockets,C#,Sockets,我试图模拟将原始数据发送到条形码打印机。因为我没有,我只是把一些文字发送到我网络上的佳能喷墨打印机。问题是当代码执行时,什么也不发生。我从以前的帖子中得到了这个代码(谢谢)。你能看到我遗漏了什么或做错了什么吗?谢谢 namespace ConsoleAppTest { class Program { static void Main(string[] args) { string text = "^XA" +

我试图模拟将原始数据发送到条形码打印机。因为我没有,我只是把一些文字发送到我网络上的佳能喷墨打印机。问题是当代码执行时,什么也不发生。我从以前的帖子中得到了这个代码(谢谢)。你能看到我遗漏了什么或做错了什么吗?谢谢

namespace ConsoleAppTest
{
    class Program
    {
        static void Main(string[] args)
        {
            string text = "^XA" +
            "^FO335,22,^CI0^A0,14,14^FR^FDConta^FS" +
            "^FO368,22,^CI0^A0,14,14^FR^FDins^FS" +
            "^PQ1" + "^XZ";
            PrintToZebra zPrintToIP = new PrintToZebra("192.168.1.101",80, text);
        }
    }
}

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Net;
using System.Net.Sockets;

namespace PMIConsoleAppTest
{
class PrintToZebra
{
    public string printerIP { get; set; }
    public int printerPort { get; set; }
    public string myZPL { get; set; }
    private EndPoint ep { get; set; }
    private Socket sock { get; set; }
    private NetworkStream ns { get; set; }

    public PrintToZebra()
    {
        printerIP = "";
        printerPort = 0;
        myZPL = "";
    }

    public PrintToZebra(string anIP, int aPort, string aZPL)
    {
        printerIP = anIP;
        printerPort = aPort;
        myZPL = aZPL;
        printToIP();
    }

    public void printToIP()
    {
        ep = new IPEndPoint(IPAddress.Parse(printerIP), printerPort);
        sock = new Socket(ep.AddressFamily, SocketType.Stream, ProtocolType.Tcp);

        try
        {
            sock.Connect(ep);
            ns = new NetworkStream(sock);
            byte[] toSend = Encoding.ASCII.GetBytes(myZPL);
            ns.BeginWrite(toSend, 0, toSend.Length, OnWriteComplete, null);
            ns.Flush();
        }
        catch (Exception ex)
        {
            //Console.WriteLine(ex.ToString());
            sock.Shutdown(SocketShutdown.Both);
            sock.Close();
        }
    }

    private void OnWriteComplete(IAsyncResult ar)
    {
        NetworkStream thisNS = ns;
        thisNS.EndWrite(ar);
        sock.Shutdown(SocketShutdown.Both);
        sock.Close();
    }

}
}

您正在向普通打印机发送条形码命令。。。这并不奇怪,如果它不工作…看看这个,我改变了条形码命令为正常文本,它仍然不工作,我没有得到任何例外。我将两行移到了上方,以确保不会导致未看到的异常。我可以使用Socket类打印到本地无线打印机吗?也许这就是问题的根源。我没有可以“侦听”传入请求的服务器。如果需要,我需要什么样的“服务器”?