標(biāo)題: stc8h1k28作為客戶端發(fā)送websocket握手協(xié)議返回404或400,求解答一下 [打印本頁(yè)]

作者: ty4444    時(shí)間: 2023-10-27 17:09
標(biāo)題: stc8h1k28作為客戶端發(fā)送websocket握手協(xié)議返回404或400,求解答一下
編譯環(huán)境:Windows系統(tǒng)下的keil5。在讓esp8266與服務(wù)器建立Tcp長(zhǎng)鏈接,進(jìn)入透?jìng)髂J胶,我發(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);                        


這時(shí)候websocket服務(wù)端返回



為什么還會(huì)有400呢?
因?yàn)槲矣帽镜豂P創(chuàng)建了一個(gè)websocket服務(wù)器,給它發(fā)握手協(xié)議時(shí),它就返回一個(gè)400



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



然后我想看一下我到底發(fā)出去的是什么東西,就發(fā)給Tcp服務(wù)器,看到是下面這樣的
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ā)的啊,真的不知道問題出在哪里,求帶濕指點(diǎn)指點(diǎn)。

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

1698397554556.jpg





歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1