Websockets ESP8266 [英] Websockets ESP8266

查看:117
本文介绍了Websockets ESP8266的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试将数据发送到ESP8266中带有websocket的服务器,但是握手不起作用.

I'm trying to send data to a server with websocket in ESP8266, but the handshake don't work.

我正在发送以下AT命令序列:

I'm sending the following sequence of AT commands:

AT+RST
AT+CWMODE=1
AT+CIPMODE=0
AT+CIPMUX=1
AT+CWJAP="ssid_my_network","password"
AT+CIPSTART=4,"TCP","ip_server",port
AT+CIPSEND=4,data_lenght

此刻,我发送标题:

GET ws:ip_server HTTP/1.1\r\n
Host: ip_server\r\n
Upgrade: websocket\r\n
Connection: Upgrade\r\n
Sec-WebSocket-Key: dGhlIHNhbXBsZSBub25jZQ==\r\n
Sec-WebSocket-Version: 13\r\n

但是,我没有收到服务器的响应.我在做什么错了?

But, i don't receive the response from server. What am I doing wrong?

推荐答案

尝试在握手GET请求后删除ws uri.如果没有路径,则将其设置为"/".另外,如果您的websocket服务器不是从80开始提供服务,则需要在host属性后的标头中表示该服务器.

Try removing ws uri after handshaking GET request. If you have no path, make it "/" . Also if your websocket server is not serving from 80, you'd need to denote it in header after host attribute.

我们可能会说同级之间可能发生了版本不匹配的情况,但没有答案.因此,我们有一个微小的隐藏问题,例如代理等.

We might say a possible version mismatch had occured between peers, but no answer. So we have a tiny hidden problem like proxy etc.

这篇关于Websockets ESP8266的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆