梅林听风 发表于 2023-2-1 12:37:01

websocket协议的握手协议

在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所以,有没有高手会搞呀

lyg21883 发表于 2023-2-2 08:49:49

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

lyg21883 发表于 2023-2-2 08:51:30

lyg21883 发表于 2023-2-2 08:49
并不是很懂这个协议,但是我使用过WEBSOCKET的连接,握手似乎并没有特别的信号啊。
按照我之前处理的方式, ...

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

梅林听风 发表于 2023-2-2 10:43:39

lyg21883 发表于 2023-2-2 08:51
顺便说下,最方便的方式就是用官方的连接方式抓包再来用NODERED,不知道对楼主有没有用 ...

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

qyzyl 发表于 2023-2-6 17:02:04

同求,帮顶一下!
页: [1]
查看完整版本: websocket协议的握手协议