【发布时间】:2020-04-17 10:58:14
【问题描述】:
我正在使用Flutter 包esc_pos_printer 1.5.0 打印到热敏收据打印机。如果打印机在线,它工作正常,但当它不在线时,我得到一个套接字超时,即使我将代码嵌套在 try / catch 块中。
通常我希望打印机将通过以太网连接,但也可以是 WiFi。
包作者推荐使用andrey-ushakov/ping_discover_network
但那个包裹在README
可用于查找打印机(例如,在端口 9100 上)和任何 本地网络中的其他设备和服务。
设备应连接到 Wi-Fi 网络。 wifi包允许 获取本地 IP 地址/网络子网。
这是错误:
错误:flutter/lib/ui/ui_dart_state.cc(157)] 未处理的异常: SocketException:操作系统错误:连接超时,errno = 110
这是我的代码:
try {
Printer.connect('192.168.1.100', port: 9100).then( (printer) {
printer.println('welcome',
styles: PosStyles(
height: PosTextSize.size2,
width: PosTextSize.size2,
));
printer.cut();
printer.disconnect();
}
);
}
catch (e) {
print(e);
// do stuff
}
}
【问题讨论】: