找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1193|回復: 0
打印 上一主題 下一主題
收起左側

stc8h1k28作為客戶端發(fā)送websocket握手協(xié)議返回404或400,求解答一下

[復制鏈接]
回帖獎勵 60 黑幣 回復本帖可獲得 3 黑幣獎勵! 每人限 1 次(中獎概率 50%)
跳轉到指定樓層
樓主
ID:768170 發(fā)表于 2023-10-27 17:09 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
編譯環(huán)境:Windows系統(tǒng)下的keil5。在讓esp8266與服務器建立Tcp長鏈接,進入透傳模式后,我發(fā)送過去的握手協(xié)議如下:
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創(chuàng)建了一個websocket服務器,給它發(fā)握手協(xié)議時,它就返回一個400



這時候我用抓包工具看了一下服務器響應的數(shù)據(jù)



然后我想看一下我到底發(fā)出去的是什么東西,就發(fā)給Tcp服務器,看到是下面這樣的
GET / HTTP/1.1
Host: 192.168.2.189:8899
Upgrade: websocket
Connection: Upgrade
Sec-WebSocket-Key: dGhlIHNhbXBsZSBub25jZQ==
Sec-WebSocket-Version: 13


我覺得好像沒問題啊,websocket握手協(xié)議好像就是這樣發(fā)的啊,真的不知道問題出在哪里,求帶濕指點指點。

1698397554556.jpg (921 Bytes, 下載次數(shù): 93)

1698397554556.jpg
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復 返回頂部 返回列表