我正在使用 android 中的库连接到终端仿真器,它连接到串行设备(开关)并向我显示发送/接收的数据。
但是我只是来回发送字节数组,所以我不知道交换机处于什么状态,是处于启用更多还是配置模式等。这导致我可能以错误的模式输入命令,它们将无法工作. 然后交换机处于不可恢复模式,因为我发送了错误的命令,无法删除它或进入新行。我现在要处理的问题是我不知道开关所处的模式。我知道在发送命令后可以有三种不同的返回提示:
switch>
switch#
switch(config)#
所以我在想,如果我阅读收到的最后两个字符,我就可以知道我处于哪种模式。h>、h# 和 )#
我用这种方法取回数据,只要收到数据,就会运行:
public void onDataReceived(int id, byte[] data)
{
String str = new String(data);
((MyBAIsWrapper) bis).renew(data);
mSession.write(str);
mSession.notifyUpdate();
viewHandler.post(updateView);
}
最好的方法是以某种方式搜索字节数组或将其转换为字符串并在字符串中搜索 h>、h# 和 )#,然后我可以根据返回的值设置一个全局变量吗?也许从头向后搜索?