问题描述
我正在将Websocket集成到Bittrex-v3 API(https://bittrex.github.io/api/v3#topic-Authenticating)。 Bittrex Websocket的实现基于Microsoft ASP.net的SignalR-他们没有使用ASP.net Core的SignalR实现。
我正在使用自己的Java客户端(基于Vert.x),因为SignalR没有可用的实际Java客户端。
我遇到了一个问题。我想使用我自己的Java开发的Websocket客户端连接Bittrex Websocket,但是我收到400信息,提示“ ConnectionId格式不正确”。我不知道SignalR协议,我只对bittrex网站进行了一些Chrome调试,以了解如何使用websocket进行连接。
在我的情况下,连接过程如何:
第1步。我正在请求此GET请求使用的连接令牌:
步骤:2.使用以下响应嵌套:
{ “URL”: “/ signalr”, “ConnectionToken”: “+ 0kBiAOYeOtyGleCNodFQjl6TxKgBZy6o8RmI96GxteRH + GPfeycU cyODS8YiAgpvCJ4RTmuQYh3Gr6TKo7U1K / nwi1CQxuaBroX0iF6j / wKxkeU”, “的ConnectionId”: “c79d4fa4-7518-4dc3-8884-0885598b105d”, “的KeepAliveTimeout”:20.0 ,“ DisconnectTimeout”:30.0,“ ConnectionTimeout”:110.0,“ TryWebSockets”:true,“ ProtocolVersion”:“ 2.0”,“ TransportConnectTimeout”:5.0,“ LongPollDelay”:0.0}
我正在使用以下方法创建建立WS连接的请求:
主机:socket-v3.bittrex.com
端口:443
requestUri(编码):/signalr/connect?transport=webSockets&clientProtocol=2.0&connectionToken=0kBiAOYeOtyGleCNodFQjl6TxKgBZy6o8RmI96GxteRH+GPfeycU+cyODS8YiAgpvCJ4RTmuQYh3Gr6TKo7U1K/nwi1CQxuaBroX0iF6j/wKxkeU&connectionData%3D%5B%7B%22name%22%3A%22c3%22%7D%5D&tid= 0
requestUri(解码):/signalr/connect?transport=webSockets&clientProtocol=2.0&connectionToken=0kBiAOYeOtyGleCNodFQjl6TxKgBZy6o8RmI96GxteRH GPfeycU cyODS8YiAgpvCJ4RTmuQYh3Gr6TKo7U1K / nwi1CQxuaBroX0iF6j / wKxkeU&connectionData = [{ “名称”: “C3”}]&TID = 0
(请求中的id始终是常量)
也许有人也有同样的问题。您知道什么地方可能出问题吗?我试图将ConnectionId也放入requestUri,但它也没有帮助。
谢谢
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)