问题描述
我正在使用 Java 为数据采集项目编程。我用Python完成了设备部分的接口,但处理起来太繁重了。
我已经将其转换为 Java(新手!)并且能够发送和接收设置数据,这些数据都是 ASCII。
一旦我要求数据开始流动,它就像一个打开的水龙头。
我能理解前 4 个字符,但后来我不能。
53 31 5C B5 61 99 AB 8B A9 85 91 89 55 85 (Hex)
S 1 This is the echo to say 'starting'
5C B5 61 99 AB 8B A9 85 91 89 55 85 (Hex)
这是我需要的数据以及它是如何发送的。我可以在网络监视器上嗅探它。
83 49 92 65533 97 65533 65533 65533 65533 (dec)
我尝试了各种方法,但目前:
Socket socket=new Socket(ipAddress,portNumber); //Create Socket
inputStream=socket.getInputStream();
inputStreamReader=new InputStreamReader(inputStream); // Tried (inputStream,"UTF-8")
stringBuffer=new StringBuffer();
public static StringBuffer recMsg(InputStreamReader inputStreamReader,StringBuffer stringBuffer) throws IOException {
int x;
stringBuffer.setLength(0);
while(true)
{
x=inputStreamReader.read();
stringBuffer.append((char)x);
//System.out.println("Ready to read:2 "+ inputStreamReader.ready());
if (stringBuffer.length() >= 500) break;
if (!inputStreamReader.ready()) break; //
}
System.out.println("Response "+ stringBuffer);
System.out.println(" --- ");
return stringBuffer;
}
我刚用过的 Python 中的 PS
s.connect((host,port))
s.recv(2048)
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)