我需要通过tcp / ip读取驾驶模拟器的两倍速度值。
我这样尝试过:
Socket s = new Socket(server, port);
InputStream is = s.getInputStream();
DataInputStream dis = new DataInputStream(is);
System.out.println(dis.readDouble());
在模拟器的配置中,使用BigEndian = true时,我得到这样的值,这是没有意义的:
-1.565600306167059E-119
2.6794374850840603E-248
-2.8742899426422626E-168
-1.858946187722445E-277
1.0067114608326767E54
-0.001054984626127145
-3.862596704088319E-110
4.618147910668653E-193
-9.491033037580185E290
BigEndian = false时,第一个输出是正确的值,然后是7个无意义的值,依此类推:
109.94424404374932
1.0152777137342873E132
3.810036543451522E-70
5.888865755856121E100
-3.430929070370842E67
1.0937105040100144E-105
-1.809009002903045E-259
2.7053994656972186E-23
105.04537620848295
1.304469700127963E126
-1.3728712552450811E284
...
这是Wireshark显示的1个数据包的内容:
有人知道如何仅获取正确的值吗?