Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/go/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Go 信号员,韦伯小艇,出发_Go_Websocket_Signalr - Fatal编程技术网

Go 信号员,韦伯小艇,出发

Go 信号员,韦伯小艇,出发,go,websocket,signalr,Go,Websocket,Signalr,我需要从Go连接到信号服务器。我一直在尝试使用一些库和文章来帮助我: 问题是我需要从不同的端口检索令牌。我的信号服务器地址是https://server:10446/endpoint,但我需要从https://server:10443/connect/token,这偏离了正常的信号器协议 我能拿到我的代币。并且能够获得协商步骤,得到以下响应: { “连接ID”:“JKOFC0JYKJ8HFZM8JD53W”, “AvailableTransport”:[ { “传输”:“WebSoc

我需要从Go连接到信号服务器。我一直在尝试使用一些库和文章来帮助我:

问题是我需要从不同的端口检索令牌。我的信号服务器地址是
https://server:10446/endpoint
,但我需要从
https://server:10443/connect/token
,这偏离了正常的信号器协议

我能拿到我的代币。并且能够获得协商步骤,得到以下响应:

{
“连接ID”:“JKOFC0JYKJ8HFZM8JD53W”,
“AvailableTransport”:[
{
“传输”:“WebSocket”,
“转让格式”:[
“文本”,
“二进制”
]
},
{
“传输”:“ServerSentEvents”,
“转让格式”:[
“文本”
]
},
{
“传输”:“长轮询”,
“转让格式”:[
“文本”,
“二进制”
]
}
]
}
然后,我尝试通过使用gorilla websocket进行websocket连接来获得连接:

wss://server:10446/endpoint?transport=WebSockets&id=${connectionIDFromConfertiate}&connectionData=[{\'name\':\'HubName\'}]&access\u令牌=${MyRetrievedToken}
在这一点上,我得到一个回复,上面写着
101
,升级到websocket。然而,从现在起,我无法继续握手。我正在向服务器发送一条消息,但除了15-20秒后握手中止之外,我没有收到任何响应

这是我用来连接和发送握手信息的代码:

ws,resp,err:=websocket.DefaultDialer.Dial(u.String(),nil)
如果出错!=零{
返回零,错误
}
如果err=ws.WriteMessage(websocket.TextMessage,[]字节(`{“协议”:“json”,“版本”:1}`);呃!=零{
返回零,错误
}
任何想法都将受到热烈欢迎:)

解决方案由。 非常感谢


看起来您丢失了部分消息负载。Spec github.com/dotnet/aspnetcore/blob/master/src/SignalR/docs/specs/…“握手请求和握手响应消息必须以ASCII字符0x1E(记录分隔符)终止。”

解决方案由以下公式给出。 非常感谢


看起来您丢失了部分消息负载。Spec github.com/dotnet/aspnetcore/blob/master/src/SignalR/docs/specs/…“握手请求和握手响应消息必须以ASCII字符0x1E(记录分隔符)终止。”


看起来您丢失了部分消息负载。规范“握手请求和握手响应消息都必须以ASCII字符0x1E(记录分隔符)终止。”先生@Brennan,你刚刚搞定了!就这样。至少现在我还有其他错误!看起来您丢失了部分消息负载。规范“握手请求和握手响应消息都必须以ASCII字符0x1E(记录分隔符)终止。”先生@Brennan,你刚刚搞定了!就这样。至少现在我还有其他错误!嗨@Flashito,你让你的客户工作了吗?你能分享你客户的代码吗?嗨@Flashito,你让你的客户工作了吗?你能分享你客户的代码吗?