2012-10-09 15 views
-1

我有一个启用xml的标签打印机,它将响应特定的xml流。我在Rails中创建了适当的视图/路由来生成XML,但即使我更改了@ _request.env ['REMOTE_ADDR'],XML也总是发回给我的浏览器。我需要的是发送到打印机的XML。将直接XML输出到RAILS中的不同客户端

有没有一个微不足道的方法来做到这一点,或者我以错误的方式接近它?

+0

Rails响应客户端。如果您想向其他设备发出请求,请使用nethttp或其中一个包装器。 –

+0

但是,我想回应一个不同的设备,而不是向它发出请求。 –

+0

不,您想要将XML发送到其他客户端。这是提出请求。你*仍然*需要回应原始的请求客户,以便他们知道发生了什么。所以是的,国际海事组织,你正在接近它错误的方式。 –

回答

0

这个问题的答案是什么,我想实现(与我问)位于插座Ruby中的库。我需要只需打开一个TCP套接字到打印机(在RAW端口),然后执行,我需要发送XML字符串的看跌期​​权:

data = 'xml stream goes here' 
hostip = '10.3.1.40' 
port = 9100 
labelPrinter = TCPSocket.open(hostip, port) 
labelPrinter.puts(data) 
labelPrinter.close 

而其余的按预期工作。

+0

一旦我了解了我之后的感受,我可以在C#的斑马网站上找到一些示例代码,它指出我在右侧方向。 –

0

使用STDLIB红宝石http://apidock.com/ruby/Net/HTTP

或可用于红宝石一颗颗HTTP库之一:http://bit.ly/RNCClq

+0

嗯,我认为这是正确的答案(正如戴夫所说的那样)。现在我无法从打印机中得到回应,而且文档很薄弱,我不确定我是否正确地做了这件事。控制台给了我一个Net :: HTTPNotImplemented响应,我不知道为什么,打印机肯定会执行它。 –

+0

是否曾通过http成功与打印机通话?与卷曲或wget什么的? – phoet

+0

@JeffreyAlanLee也许你提出了错误的请求类型。 –

相关问题