我有一个TCP客户端发送数据,我想从我的服务器上听到数据。所以,在这里,一切都好。
我决定在端口9876上安装一个套接字服务器来监听这个设备(使用Java 8)。我收到的数据是奇怪的,当我打印它是:"慳慳慳",但从理论上讲,数据应该是一个十六进制。这是设备发送的包的一个示例(登录):
40407F000431303031313132353239393837000000000000001001C1F06952FDF069529C91110000000000698300000
C0000000000036401014C00030001190A0D04121A1480D60488C5721800000000AF4944445F3231364730325F53205
6312E322E31004944445F3231364730325F482056312E322E31000000DF640D0A我想以一种简单的方式(如果可能的话)复制castel到设备的连接( Traccar服务器应用程序的端口5086 ),几乎有6种方法:
我的目标是用PHP复制这种行为。我尝试使用Websocket/HTTP协议,结果我无法与它连接。我听不到设备里有任何包裹。
因此,其他问题可能是:我如何编码我自己的自定义协议(Castel)来将服务器与这些设备连接起来?
我回顾了Traccar Server代码,但它非常广泛。我用它证明了设备的工作原理,但我不明白(在代码级别)是如何做到的。




发布于 2020-10-16 21:34:34
Traccar服务器包含了许多不同的内容,但是如果需要,您可以只使用协议解析部分。下面是Castel协议的解码器:
github.com/traccar/.../CastelProtocolDecoder.java
解码器是基于Netty的,所以如果您想使用它,您需要实现服务器的其余部分来侦听传入的连接。我建议查看Netty指南,了解更多关于如何执行此操作的详细信息:
https://stackoverflow.com/questions/61092305
复制相似问题