【问题标题】:Ruby: Connecting to printer using rubyRuby:使用 ruby​​ 连接到打印机
【发布时间】:2016-11-26 04:10:32
【问题描述】:

我正在尝试使用 ruby​​ 语言连接到打印机。打印机供应商已经给出了一些我可以用来与打印机通信的命令。

我正在使用 ruby​​ telnet 库与打印机进行通信。它工作正常。下面是使用 ruby​​ telnet 库为我工作的代码。

require 'net/telnet'
localhost = Net::Telnet::new("Host" => "192.168.25.168","Port" => 20000, "Timeout" => 15)
localhost.cmd("MARK START") # starts printer

上面的代码完美运行,但我不想使用 Telent 库。我想使用 ruby​​ 套接字编程来执行打印机命令。

我尝试了下面的代码,但它不起作用

require 'socket'
sock = TCPSocket.new('192.168.25.168', 20000)
sock.write 'MARK START'
sock.close

这可能是什么原因?为什么使用 telnet 库的代码可以工作,而使用 TCP 套接字编程的代码不能工作。

【问题讨论】:

    标签: ruby-on-rails ruby sockets printing telnet


    【解决方案1】:

    打印机似乎正在使用 Telnet 协议,描述为here。 Telnet 位于更高的抽象级别,并使用 TCP 传输其数据。您正在尝试通过 tcp 发送消息而没有建立任何 telnet 连接,而您的打印机需要 telnet 连接,以便接收命令。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-04-30
      • 1970-01-01
      • 2012-04-12
      • 1970-01-01
      • 1970-01-01
      • 2020-06-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多