打印

单片机进行TCP/IP的HTTP web通信不稳定问题

[复制链接]
1237|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
yanzp_2014|  楼主 | 2018-5-28 13:40 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
现象:CH563单片机进行TCP/IP的HTTP web通信不稳定问题
现象详细描述:CH563运行作为server进行web设置,将web网页客户端的设置提交到单片机服务中(使用http的post消息submit信息到server)。使用PC的IE进行操作,没有问题,稳定运行。使用华为的PAD和andriod手机,出现信息无法稳定发送,有时候server收不到设置的数据。
解决办法:将CH563NET.H里面的 CH563NET_TCP_MSS设置值改为640(默认设置为536)。
题外话:这个TCP_MSS是什么意思?我不是很清楚,懒得问厂家了,请教WCH麻烦得很!大概是一次接收TCP数据包的大小,如果一次发过来的数据包大于TCP_MSS的字节数量,就必须分多次进行处理。我想我没有猜错!MSS: Maxitum Segment Size 最大分段大小。
原因分析:导致这种现象的原因应该是:PC的IE发送的http报文的头大概为412 个字节,手机Adriond的浏览器发送的http报文的头的字节数量大于536个字节。这样用手机的时候MCU必须分多次处理,导致数据处理不稳定。
1. 下面是使用PC的IE发送http报文的详细数据:(该报文的长度为412个字节)
Receive Len = 412
POST /main.html HTTP/1.1
Accept: text/html, application/xhtml+xml, */*
Referer: http://192.168.1.87/main.html
Accept-Language: zh-CN
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)
Content-Type: application/x-www-form-urlencoded
Accept-Encoding: gzip, deflate
Host: 192.168.1.87
Content-Length: 19
Connection: Keep-Alive
Cache-Control: no-cache
2.下面是使用华为的Andriod的浏览器发送相同的http报文的详细数据:(该报文的长度为576个字节)
Receive Len = 576
POST /main.html HTTP/1.1
Host: 192.168.1.87
X-Wap-Profile: http://wap1.huawei.com/uaprof/HUAWEI_EVA-TL00_UAProfile.xml
Referer: http://192.168.1.87/main.html
Origin: http://192.168.1.87
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8,alipay/un
Content-Type: application/x-www-form-urlencoded
Accept-Encoding: gzip
Accept-Language: zh-CN,en-US
Connection: keep-alive
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.2; en-US) AppleWebKit/534.31 (KHTML, like Gecko) Chrome/34.0.1847.116 Safari/534.31
Content-Length: 19

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

10

主题

33

帖子

0

粉丝