使用Apache Vysper执行WebSocket握手时出现问题

时间:2013-02-26 14:43:35

标签: javascript apache websocket handshake

我在执行成功握手时遇到问题。天气运行Vysper独立或嵌入在一个简单的Java服务器(我自己制作,或其中一个预先打包的例子),我尝试从JavaScript客户端(我自己或一个预先打包的示例)连接时得到相同的错误条件。返回的错误是HTTP 405响应,在Chrome控制台中报告为“意外响应代码:405”。

独立服务器的配置:

'spring-config.xml'增加了以下内容:

    <bean id="websocketEndpoint" class="org.apache.vysper.xmpp.extension.websockets.WebSocketEndpoint"> 
        <property name="port" value="8080" /> 
        <property name="contextPath" value="/ws" /> 
    </bean> 

在服务器构造函数中:

   <ref bean="websocketEndpoint"/> 

服务器启动时可能出现的错误情况:

服务器似乎正常启动,仅报告了以下可能的问题(在独立服务器和嵌入式服务器上):

  org.eclipse.jetty.server.Server@2af081 STOPPED 
   +-SelectChannelConnector@0.0.0.0:8080 
   +-qtp29384701{8<=6<=8/254,0} 
   +-ServletContextHandler@32efa7@32efa7/ws,null started 
      +-{} 
      +-{} 
     +-SessionHandler@1fbfd6 started 
        +-ServletHandler@6b9c84 started 
           +-[/ws]=>org.apache.vysper.xmpp.extension.websockets.XmppWebSocketServlet-23860799{} 

尝试连接时出错:

尝试从客户端连接时,以下两种类型的服务器实例都会记录以下内容:

  17:04:02,137 | DEBUG | org.eclipse.jetty.util.log | REQUEST /ws/ws on org.eclipse.jetty.server.nio.SelectChannelConnector$3@c3615b 
  17:04:02,137 | DEBUG | org.eclipse.jetty.util.log | sessionManager=org.eclipse.jetty.server.session.HashSessionManager@1767f84 
  17:04:02,137 | DEBUG | org.eclipse.jetty.util.log | session=null 
  17:04:02,137 | DEBUG | org.eclipse.jetty.util.log | servlet=org.apache.vysper.xmpp.extension.websockets.XmppWebSocketServlet-29347786 
  17:04:02,137 | DEBUG | org.eclipse.jetty.util.log | servlet holder= 
  17:04:02,137 | DEBUG | org.eclipse.jetty.util.log | chain= 
  17:04:02,137 | DEBUG | org.eclipse.jetty.util.log | RESPONSE /ws/ws 405 
  17:04:02,137 | DEBUG | org.eclipse.jetty.util.log | EOF 

在客户端的Chrome控制台中:

  Unexpected response code: 405 
  Event {clipboardData: undefined, cancelBubble: false, returnValue: true, srcElement: WebSocket, defaultPrevented: false…} 
  CloseEvent {reason: "", code: 1006, wasClean: false, clipboardData: undefined, cancelBubble: false…} 

有关如何进行的任何建议?

0 个答案:

没有答案