将命令发送到esc / pos网络打印机

时间:2019-12-11 15:15:58

标签: escpos

请告诉我。一台Xprinter q260收据打印机。如何使用网络向其发送esc / pos命令? 打印机已连接到以太网。 切换到http://192.168.0.110:9100时,打印机将打印有关他们单击Web链接的设备的信息。

1 个答案:

答案 0 :(得分:0)

假设您使用C ++,那么为此,我制作了一个类。在这里,该类的一些片段可以重复使用:

打开打印机插座:

m_sock =socket( AF_INET, SOCK_STREAM, 0);
int on =1;
if ( setsockopt( m_sock, SOL_SOCKET, SO_REUSEADDR, (const char*) &on,
        sizeof(on)) == -1)
    return false;

连接到打印机:

sockaddr_in m_addr;
m_addr.sin_family =AF_INET;
m_addr.sin_port =htons( port);
int status =inet_pton( AF_INET, host.c_str(), &m_addr.sin_addr);
if ( errno == EAFNOSUPPORT)
    return false;
status =::connect( m_sock, (sockaddr *) &m_addr, sizeof(m_addr));
return ( status == 0) ? true:false;

将数据打印到打印机:

int bytes_sent = ::send( m_sock, data, length, MSG_NOSIGNAL );

在作业后关闭打印机:

::close( m_sock);