x88484532 发表于 2017-8-14 11:06:10

串口通讯问题

服务器采用node 的tcp方式:
单片机客户端使用“AT+CIPSEND”命令后,发送“aa”作为心跳包数据,服务器收到后返回"ok"作为应答。
现在的问题是第一次发送心跳包数据,收不到应答,第二次时收到应答数据;人工断开tcp连接,第一次发送心跳包数据,收到应答,第二次时才收不到应答数据。
这样总是慢一拍,就失去了检测连接的意义,请高手解惑?该如何处理?


赵工123 发表于 2017-8-14 11:39:07

是 以太网?还是串口?

x88484532 发表于 2017-8-14 13:07:02

串口

发表于 2017-8-14 13:39:15

先确定服务器端是否收到数据,并且返回。楼主用的是GSM模块,TCP发送成功以后,模块会返回结果。我用了很长时间了,未发生类似的问题。

x88484532 发表于 2017-8-14 13:47:25

服务器显示收到,也返回了“ok”应答。

x88484532 发表于 2017-8-14 13:48:23

刚才使用透传模式发送,也是这个情况,都是慢一拍。

发表于 2017-8-14 17:00:59

那不应该啊。楼主看一下这个是主动弹出的还是需要自己去读。

x88484532 发表于 2017-8-15 09:36:59

我这个是自己主动去读

eagle0754 发表于 2017-8-16 09:08:51

没有用过主动读的,一般用的是主动发,从发出到响应设置一定的延时,超过延时判断为未收到响应。
主动读会不会存在你读的时候,还未接收到响应?因为网络延时问题,你没办法保证什么时候去读会有数据响应吧
页: [1]
查看完整版本: 串口通讯问题