找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 678|回复: 0
打印 上一主题 下一主题
收起左侧

stc8h1k28作为客户端发送websocket握手协议返回404或400,求解答一下

[复制链接]
回帖奖励 60 黑币 回复本帖可获得 3 黑币奖励! 每人限 1 次(中奖概率 50%)
跳转到指定楼层
楼主
编译环境:Windows系统下的keil5。在让esp8266与服务器建立Tcp长链接,进入透传模式后,我发送过去的握手协议如下:
temp = esp8266_stringCopy(buff_temp, "GET / HTTP/1.1\r\n", 0,16);
temp = esp8266_stringCopy(buff_temp, "Host: 192.168.2.111:9090\r\n", temp,26);
temp = esp8266_stringCopy(buff_temp, "Upgrade: websocket\r\n", temp,20);
temp = esp8266_stringCopy(buff_temp, "Connection: Upgrade\r\n", temp,21);
temp = esp8266_stringCopy(buff_temp, "Sec-WebSocket-Key: dGhlIHNhbXBsZSBub25jZQ==\r\n", temp,45);
temp = esp8266_stringCopy(buff_temp, "Sec-WebSocket-Version: 13\r\n\r\n", temp,27);        
esp8266_printfL(buff_temp, temp);                        


这时候websocket服务端返回



为什么还会有400呢?
因为我用本地IP创建了一个websocket服务器,给它发握手协议时,它就返回一个400



这时候我用抓包工具看了一下服务器响应的数据



然后我想看一下我到底发出去的是什么东西,就发给Tcp服务器,看到是下面这样的
GET / HTTP/1.1
Host: 192.168.2.189:8899
Upgrade: websocket
Connection: Upgrade
Sec-WebSocket-Key: dGhlIHNhbXBsZSBub25jZQ==
Sec-WebSocket-Version: 13


我觉得好像没问题啊,websocket握手协议好像就是这样发的啊,真的不知道问题出在哪里,求带湿指点指点。

1698397554556.jpg (921 Bytes, 下载次数: 92)

1698397554556.jpg
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表