当前位置: 首页 > 知识库问答 >
问题:

信号器WebSocket握手:缺少Sec WebSocket接受标头

贺高杰
2023-03-14

ASP.NET 5 RC1上的信号器3-RC1用户

尝试运行websocket时出现以下错误。

使用Chrome50.0.2661.87

标题如下:

请求标题:
日期:2016年4月29日星期五13:51:54 GMT
服务器:Kestrel
传输编码:分块
升级:websocket
X-Content-Type-Options:nosniff
X-Powered-By:ASP.NET

响应头:
接受编码:gzip、deflate、sdch
接受语言:en-US、en;q=0.8,fr;q=0.6
缓存控制:无缓存
连接:升级
Cookie:…ASP.NET Cookie
DNT:1
主机:主机。tld
来源:http://host.tld
Pragma:no cache
Sec WebSocket扩展:permessage deflate;客户端\u max\u window\u bits
Sec WebSocket密钥:liikiclt7z057ewtejjxq=
Sec WebSocket版本:13
升级:WebSocket
用户代理:Mozilla/5.0(Windows NT 6.1;WOW64)AppleWebKit/537.36(KHTML,类似Gecko)Chrome/50.0.2661.87 Safari/537.36

使用Microsoft.AspNet.WebSockets.Server 1.0.0-rc1

服务器安装程序:Windows Server 2012 R2 IIS 8.5

我能做些什么来修好它?

共有2个答案

邓高韵
2023-03-14

服务器的实现不是很好,但是您可能可以通过在请求中包含Sec-WebSocket-KeyHTTP头来解决这个问题。为了符合规范,还需要Sec WebSocket版本标题和连接标题。详见RFC 6455。

百里伟
2023-03-14

正如Hockey J评论的那样,我已经在GitHub上回答了我的问题,但不是在这里。

为了解决这个问题:

  1. 单击开始

看https://github.com/SignalR/SignalR/issues/3691

 类似资料:
  • 我正在写一个c websocket服务器,chrome上的开发工具说SecWebSocket接受头值不正确。我已经测试了好几天了,一切似乎都很好。客户端使用readystate 3关闭,而不调用websocket onopen,尽管它在chrome开发工具中显示为101。 这是我计算钥匙的代码 铬反应 Chrome请求 它表示"WebSocket握手过程中出错:不正确的'Sec-WebSocket

  • 我正在使用Python的套接字来响应Websocket请求,并且我面临着头的问题。以前可能有过类似的问题,但没有人为我工作 文档位于https://developer.mozilla.org声明对于要建立的连接: 服务器获取握手请求中发送的Sec-WebSocket-Key的值,追加258EAFA5-E914-47DA-95CA-C5AB0DC85B11,获取新值的SHA-1,然后对其进行Bas6

  • 我正在做我的第一个测试,尝试使用phpwebsocket。 我将其握手标题值设置为以下值: 所以我运行web套接字PHP文件(创建连接),一切正常。 因此,我运行测试html,其中包含一个脚本,该脚本试图连接到我正在使用的phpwebsocket,在浏览器控制台中,我收到以下错误: 但是我发现这个错误在WebSocket握手:不正确的'Sec-WebSocket接受'头值与PHP,这是通过定义缓冲

  • 我正在用C编写一个websocket服务器,无法让握手正常工作。Chrome报告错误是由于错误的accept头,但我相信该值是正确的。 作为exchange的一个示例,客户端发送以下密钥: 我的服务器会发回: 我已经根据RFC中的示例测试了我的服务器,并进行了验证。我不知道为什么不被接受。我的理论是,我必须做一些其他事情,产生与坏接受值相同的错误。 以下是不同于wireshark捕获的请求: 以下

  • 我正在使用C Builder 10.1柏林编写一个简单的WebSocket服务器应用程序,它在端口上侦听从网络浏览器发送的一些命令,如谷歌Chrome。 在我的表单上,我有一个TMemo、TButton和TIdHTTPServer,我有以下代码: 从Chrome,我执行这个Javascript代码: 但是我从Chrome上得到了这个错误: VM77:1到“ws://localhost:55555/

  • 问题内容: 我正在尝试连接到远程主机,并检查文件是否存在。在此阶段,我仅尝试连接,但是出现错误: 我试图找出其他人是否有像我一样的问题,但我却找不到。 我知道我需要在此过程中以某种方式检查knowns_hosts,但我只是想不通如何… 问题答案: 您在这里寻找的是: 然后将您的hostKey定义行替换为 有关此主题的更多信息: 我从中获取部分代码的官方样本 为什么现在需要hostKey 编辑:还请