Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 从zebra打印机获取ByTestStream输出_Objective C_Zebra Printers - Fatal编程技术网

Objective c 从zebra打印机获取ByTestStream输出

Objective c 从zebra打印机获取ByTestStream输出,objective-c,zebra-printers,Objective C,Zebra Printers,我需要能够得到从斑马打印机输出时,我给它一个命令。 在工具箱中,我发送“!U1 getvar“apl”,它将命令发送到打印机,然后将输出写入控制台。 通过将命令转换为字节并传输,我成功地将命令发送到打印机。但是当我尝试从打印机读取数据时,我得到一个空流。Zebra提供了一个SDK来帮助与打印机通信。您将在iOS SDK中找到连接对象上的“sendAndWaitForResponse”等命令,这些命令应该执行您想要的操作: 一般来说,Zebra打印机支持TCP连接,因此没有理由不能写入打印机并读取

我需要能够得到从斑马打印机输出时,我给它一个命令。 在工具箱中,我发送“!U1 getvar“apl”,它将命令发送到打印机,然后将输出写入控制台。
通过将命令转换为字节并传输,我成功地将命令发送到打印机。但是当我尝试从打印机读取数据时,我得到一个空流。

Zebra提供了一个SDK来帮助与打印机通信。您将在iOS SDK中找到连接对象上的“sendAndWaitForResponse”等命令,这些命令应该执行您想要的操作:

一般来说,Zebra打印机支持TCP连接,因此没有理由不能写入打印机并读取响应。在发送传出命令后,可能需要在读取响应之前短暂等待,因为网络条件可能会延迟响应。如果您包含代码,我们可能会更好地提供帮助


最后请注意,请确保在ZPL字符串的末尾追加一个新行字符(0x0A)。如果SGD命令(!U1命令)以新行字符终止,打印机将仅识别它们

我早些时候下载了LinkOS,有一个iMz320可用,但在接下来的一两周内我将无法亲自使用它。你试过联系你的斑马代表吗?听起来像是一个愚蠢的问题,但有时他们的工程师可能会有所帮助。我找不到连接对象oops的“sendAndWaitForResponse”方法——这可能只是在他们的Java SDK中。你可能想尝试我的第二个建议,打电话给“write”,然后睡一会儿,等待回复。再次-请记住在数据末尾追加新行(0x0A)!我有了新行,我终于得到了想要的输出..但这很奇怪。工具箱给了我以下收到的结果:149字节apl。apl.enable:none,选项:none apl.framework\u版本:1.0 apl.version:none apl.o。apl.o.graphics_byte_width:72,选项:0-255因此在xcode中应该接收149个字节,我最初得到6个字节,它只打印出第一行。但等了5000毫秒后,我又读了一遍,剩下的部分都是空行。如果你有网络问题,这可能会发生。您可以编写自己的逻辑,等待收到足够数量的字符。在这种情况下-!U1 getvar“appl”应该返回5行左右的数据,因此您可以一直读取响应,直到在响应中收到5个换行符(0x0A)为止。