我正在尝试从 5 个串行连接的设备中读取数据。如果设备健康,我的 Java 代码运行良好,否则将inputstream.read()
挂起程序并且不允许进一步执行。
我曾尝试使用inputstream.available()
, BufferedInputStream
... 但没有任何效果。
我想要做的是:如果设备没有响应我的代码,它应该自行结束并让控件转到主程序,然后它将转到下一个设备。套接字在一个轮询周期内保持打开状态。
Socket es = new Socket("10.12.90.153",4001);
OutputStream osnew= es.getOutputStream();
InputStream isnew = new BufferedInputStream(es.getInputStream());
这是在任务程序中完成的,然后我以一秒的间隔传递到每个设备以进行进一步的操作osnew
。写入设备响应isnew
的一些数据。osnew
然后我从isnew
...This 中读取程序挂起的位置。