-1

アプリケーションでWebsocketプログラミングを使用していますこれはUI画面のWebsocketクライアントです。

プロトコルwsを使用すると、サーバーに接続しています。

var wsUri = "ws://localhost:"+<%=request.getLocalPort()%>+"/Ravi/hello-html5";
websocket = new WebSocket(wsUri);

ただし、wsをhttpに置き換えると、サーバーに接続されません。

それはこのURLです

http://localhost:"+<%=request.getLocalPort()%>+"/Ravi/hello-html5";

これは私のweb.xmlです

 <servlet>
    <servlet-name>HelloHtml5</servlet-name>
    <servlet-class>org.Html5Servlet</servlet-class>
  </servlet>

  <servlet-mapping>
    <servlet-name>HelloHtml5</servlet-name>
    <url-pattern>/hello-html5/*</url-pattern>
  </servlet-mapping>
  </web-app>

httpが機能しない理由を教えてください。

4

1 に答える 1

1

http uri で新しい WebSocket を呼び出すとどうなりますか? SyntaxError がスローされるか、Websocket の onerror または onclose コールバックが実行されますか?

JavaScript APIwebsocketの仕様では、どの URL スキームが許容されるかは不明です。SyntaxError がスローされている場合、ブラウザーは http を無効なスキームとして拒否しています。他のブラウザでは動作が異なる場合があります。コールバックのいずれかが実行されている場合、サーバーは接続を拒否しています。他のサーバー (使用しているサーバーはわかりません) は、動作が異なる場合があります。

于 2012-08-06T08:09:22.177 に答える