【发布时间】:2020-01-06 00:52:11
【问题描述】:
给定一个 URL,例如:'http://my-site.com/my_ws',我想发送两种类型的消息:
公共消息,和广播一样,所有连接到websocket的人都会收到。例如当前市场价格。
私人消息,只有 1 人会收到,例如当前用户的余额。
我知道很多交易所都实现了这个,有人可以给我一个线索吗?
---------------------- 来源问题如下:
今天我发现了一个非常有趣的网站,它通过 websocket API 发送个人信息,看起来像是一个公共频道。
我的问题是:如何做到这一点? websocket服务器可以通过某种秘密方法发送私人信息吗? 下面是 websocket 通道的详细信息:
一般:
Request URL: wss://wbs.mxc.com/socket.io/?EIO=3&transport=websocket
Request Method: GET
Status Code: 101 Switching Protocols
响应头:
HTTP/1.1 101 Switching Protocols
Date: Tue, 03 Sep 2019 06:13:55 GMT
Connection: upgrade
Server: nginx
upgrade: websocket
sec-websocket-accept: xr3/mMY887Utp3cnZdf37ycDWAc=
sec-websocket-extensions: permessage-deflate
请求头:
GET wss://wbs.mxc.com/socket.io/?EIO=3&transport=websocket HTTP/1.1
Host: wbs.mxc.com
Connection: Upgrade
Pragma: no-cache
Cache-Control: no-cache
Upgrade: websocket
Origin: https://www.mxc.com
Sec-WebSocket-Version: 13
User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36
Accept-Encoding: gzip, deflate, br
Accept-Language: zh-CN,zh;q=0.9,en;q=0.8,zh-TW;q=0.7
Sec-WebSocket-Key: oYmhqikSoGD8AgdqrMj0XQ==
Sec-WebSocket-Extensions: permessage-deflate; client_max_window_bits
这是一个关于加密货币交换的网站。
客户端用户可以收到公开信息(加密价格...等),登录用户可以通过相同的 URL 收到他的帐户余额。
那该怎么做呢?
我在其他一些网站上也看到过这种东西,比如 huobi.pro,(EIO=3...) 这是一种 websocket 客户端框架吗?
非常感谢
【问题讨论】:
-
为什么不能使用cookies?
-
你当前的 WebSocket 是用什么语言和框架编写的?
-
@MichaelWarner 我正在使用 Ruby 和 Rails。
标签: websocket