『瀚思彼岸』» 智能家居技术论坛

 找回密码
 立即注册
查看: 923|回复: 4

[教程系列] websocket协议的握手协议

[复制链接]

12

主题

86

帖子

1096

积分

金牌会员

Rank: 6Rank: 6

积分
1096
金钱
1010
HASS币
0
发表于 2023-2-1 12:37:01 | 显示全部楼层 |阅读模式
在nodered中有websocket in和out两个插件,但是,他只能链接到响应的端口
而没办法完成websocket需要的握手
想问下,关于websocket的握手,应该怎么弄

根据https://www.51sjk.com/b151b271917/的提示,需要将以下信息发送到相应端口,并验证相关信息
request url: ws://localhost:8888/
request method: get
connection: upgrade
upgrade: websocket
sec-websocket-version: 13
sec-websocket-key: ur5yp/bmo6m24tafcmhexw==
sec-websocket-extensions: permessage-deflate; client_max_window_bits
所以,有没有高手会搞呀
回复

使用道具 举报

4

主题

148

帖子

982

积分

高级会员

Rank: 4

积分
982
金钱
834
HASS币
0
发表于 2023-2-2 08:49:49 | 显示全部楼层
并不是很懂这个协议,但是我使用过WEBSOCKET的连接,握手似乎并没有特别的信号啊。
按照我之前处理的方式,就是跟正常通讯一样,把初始验证信息直接用websocket out发送到相应端口就行,在websocket out前面定义一个msg.payload,用JSON格式把初始信息带上,就能连接上了,看了下楼主需要的信息,感觉就一个KEY比较关键吧,当然具体可以多尝试下。握手这个信号可以用定时触发或者信号触发都行。
因为我也没用过很多,也不清楚不同环境下是否一致,仅仅提供一个思路
回复

使用道具 举报

4

主题

148

帖子

982

积分

高级会员

Rank: 4

积分
982
金钱
834
HASS币
0
发表于 2023-2-2 08:51:30 | 显示全部楼层
lyg21883 发表于 2023-2-2 08:49
并不是很懂这个协议,但是我使用过WEBSOCKET的连接,握手似乎并没有特别的信号啊。
按照我之前处理的方式, ...

顺便说下,最方便的方式就是用官方的连接方式抓包再来用NODERED,不知道对楼主有没有用
回复

使用道具 举报

12

主题

86

帖子

1096

积分

金牌会员

Rank: 6Rank: 6

积分
1096
金钱
1010
HASS币
0
 楼主| 发表于 2023-2-2 10:43:39 | 显示全部楼层
lyg21883 发表于 2023-2-2 08:51
顺便说下,最方便的方式就是用官方的连接方式抓包再来用NODERED,不知道对楼主有没有用 ...

可能是我想多了,应该是两个插件是能够自己完成握手的。
但关键问题是,不知为啥,发了一样的指令过去之后,就是没有响应。
回复

使用道具 举报

4

主题

56

帖子

491

积分

中级会员

Rank: 3Rank: 3

积分
491
金钱
435
HASS币
0
发表于 2023-2-6 17:02:04 | 显示全部楼层
同求,帮顶一下!
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-4-25 15:59 , Processed in 0.551157 second(s), 26 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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