服务器客户端通信最快?

时间:2018-09-25 22:15:02

标签: android tcp udp

我想制作一个非常快速的android应用程序,以与在ubuntu上运行的家庭服务器通信。

所以我用json瓶,TCP套接字和UDP套接字做了一些事情。

我想要有关我的网络,温度读数,日志事件,我制造的设备,我的LED灯条以及将来的更多信息。

问题是我希望LED灯带的响应尽可能快。 而且还可以获得其他信息。

因此感觉很被动。同样在将来,我想通过手机的x,y和z传感器实现某些功能。这也必须非常敏感。

任何人都可以帮助我,哪种技术或其他东西对这种关闭应用程序有好处。

预先感谢

1 个答案:

答案 0 :(得分:3)

enter image description here我们在无人驾驶的地铁项目中使用了UDP连接。它非常快,但不可靠。因此,您需要使用它编写交叉检查语句。

My advice and answer is;
You can use UDP and also create a header for checking process. For example 2 Byte header for network checking. We did this in the Big Driverless metro project.
You should send the data each time when the receiver catch the data.

Sample;

[ 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 ] <-- 1 Byte, 8 Bit 

0 --> Did receiver catch the data ? 
1 --> If receiver catch data, make this bit 1 and resend to the sender.
2 --> Receiver to Sender
3 --> 
8 --> Backup

You need to create a header byte data, and put your checking statements in it.

如何发送温度

如果您使用UDP或TCP,我们可以将ONU BYTE作为最小数据发送。即我们不能发送比特。 1字节= 8位

发件人到收件人 1.字节[          0位->获取温度信息          1位->
2.字节[免费]

每秒发送一次并收听接收者,也许它发送了我们不再需要的信息。检查接收器的第一个字节的第一位。 如果其0继续发送 如果其1哦接收器发送的温度信息看起来是其温度的第二个字节

发件人 侦听发送方,如果发送方发送数据,则检查其第一个字节的第一位(如果其0无关)。如果为1,发送者向我们请求温度信息。将温度信息发送给发送者。使第一个字节的第一位为1.使第二个字节的温度信息为准。

1.Byte [0.bit零或一] 2.Byte [温度inf]