气氛错误:WebSocket 握手期间出错:意外响应代码:501

Posted

技术标签:

【中文标题】气氛错误:WebSocket 握手期间出错:意外响应代码:501【英文标题】:Atmosphere error: Error during WebSocket handshake: Unexpected response code: 501 【发布时间】:2014-10-22 08:59:07 【问题描述】:

Glassfish 运行后,我在浏览器控制台 (Chrome) 中出现错误:


WebSocket 连接到 'ws://localhost:8080/mcweb/primepush/result-from-api?X-Atmosphere-tracking-id=0&X-Atmosphere-Framework=2.0.3-jquery&X-Atmosphere-Transport=websocket&X -Atmosphere-TrackMessageSize=true&X-Cache-Date=0&X-atmo-protocol=true' 失败:WebSocket 握手期间出错:意外响应代码:501

Websocket 失败。降级到 Comet 并重新发送


GlassFish 服务器 3.1.2.2

Primefaces 4.0

pom.xml

<dependency>
     <groupId>org.atmosphere</groupId>
     <artifactId>atmosphere-runtime</artifactId>
     <version>2.0.3</version>
</dependency>

web.xml

<servlet>
    <servlet-name>Push Servlet</servlet-name>
    <servlet-class>org.primefaces.push.PushServlet</servlet-class>
    <init-param>
        <param-name>org.atmosphere.cpr.AtmosphereInterceptor</param-name>
        <param-value>org.atmosphere.interceptor.HeartbeatInterceptor</param-value>
    </init-param>
    <async-supported>true</async-supported>
</servlet>
<servlet-mapping>
    <servlet-name>Push Servlet</servlet-name>
    <url-pattern>/primepush/*</url-pattern>
</servlet-mapping>

【问题讨论】:

【参考方案1】:

尝试使用大气 2.1.4 版本并将这个 sn-p 放在你的代码中:

<h:outputScript
  library="primefaces"
  name="push/push.js"
  target="head"
/>

【讨论】:

以上是关于气氛错误:WebSocket 握手期间出错:意外响应代码:501的主要内容,如果未能解决你的问题,请参考以下文章

WebSocket 握手期间出错:意外的响应代码:302

WebSocket 握手期间出错:意外的响应代码:500

Meteor:WebSocket 握手期间出错:意外响应代码:400

websocket失败:WebSocket握手期间出错:意外响应代码:400

WebSocket 握手期间出错:意外的响应代码:200

WebSocket 握手期间出错:意外响应代码:503