【问题标题】:The header 'Sec-WebSocket-Protocol' is missing in the response响应中缺少标头“Sec-WebSocket-Protocol”
【发布时间】:2014-11-23 11:37:59
【问题描述】:

我正在创建一个客户端-服务器应用程序,它允许通过 websockets 推送通知,并遵循本指南:http://msdn.microsoft.com/en-us/library/hh977020(v=vs.110).aspx。

它在本地主机上运行良好,但是当我将服务发布到 Azure 时,在允许使用 websockets 的站点上,我们得到了这个异常: 在 mscorlib.dll 中发生了“System.ServiceModel.CommunicationException”类型的未处理异常 附加信息:websocket 错误 和内部异常: 未处理的异常:System.ServiceModel.CommunicationException:发生 WebSocket 错误。 ---> System.Net.WebSockets.WebSocketException:WebSocket 升级请求失败。响应中缺少标头“Sec-WebSocket-Protocol”。

我想我需要在某处设置“Sec-WebSocket-Protocol”? 我尝试将客户端端点更改为“wss://”而不是“ws://”,但它告诉我“应该使用 http”。

【问题讨论】:

  • 您确定请求到达了正确的端点吗?

标签: c# wcf azure websocket


【解决方案1】:

您要部署到 Azure 网站吗?如果是这样,您是否在管理门户上启用了 WebSockets,正如 http://azure.microsoft.com/blog/2013/11/14/introduction-to-websockets-on-windows-azure-web-sites/ 文章开头介绍的那样?

【讨论】:

  • 对不起,我忘了提。它们已经启用。如果没有,我会收到一个错误,简而言之,告诉我它们未启用。
【解决方案2】:

解决此问题的方法是不要在客户端和服务器端都指定 websocket 子协议。

【讨论】:

  • 您能详细说明一下吗?为什么以及如何提供帮助
猜你喜欢
  • 2012-03-10
  • 2019-04-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-03-15
  • 2013-08-19
  • 1970-01-01
  • 2018-07-02
相关资源
最近更新 更多