私の最初のwebsocketプログラムを書いています"WebSocketハンドシェイク:予期しない応答コード:404"、Webページの読み込み中にエラーが発生しました。
JDK 1.7とjboss 8(wildfly8.0)を使用しています。
誰か助けていただけますか?
window.onload = init;
var socket = new WebSocket("ws://localhost:8080/WebsocketHome/actions");
socket.onmessage = onMessage;
そしてhtmlの頭
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<script src="websocket.js" type="text/javascript"></script>
<link rel="stylesheet" type="text/css" href="style.css">
</head>
ご提案ありがとうございます、答えを見つけました。
コピーしたコードは http://www.Oracle.com/webfolder/technetwork/tutorials/obe/Java/HomeWebsocket/WebsocketHome.html siteからのものです。
問題は、jsファイルで言及されているURLであり、彼らが提案しているプロジェクト名はWebsocketHomeです。プロジェクト名をWebsocketに変更したため、URLはws:// localhost:8080/Websocket/actionsになります。
ご協力ありがとうございました。
実際、ここでの問題は、URLの大文字と小文字の区別です。プロジェクト名を変更する必要はありませんでした。 JavaScriptファイルのWebsocket URLを
ws://localhost:8080/WebSocketHome/actions
(プロジェクト名のように大文字のSを使用)は、問題を解決するでしょう。あなたの場合、それらの両方を変更すると、ケースの不整合が取り除かれたので、うまくいきました。
/ info = 34424の問題(404エラーを伴う)が原因で、 other の場所で提案されているxmlアプローチを使用して放棄する必要がありました。私のプロジェクトにはSpring 4.2があり、多くのSockJS Stomp実装は通常Spring Boot実装でうまく機能します。 このBaeldungからの実装 動作しました(Spring 4.2から5に変更せずに私のために)。彼のブログに記載されている依存関係を使用した後、ClassNotFoundErrorが発生しました。それを修正するために以下の依存関係を追加しました。
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>4.2.3.RELEASE</version>
</dependency>
Baeldungの実装は、奇妙なことにそのような呼び出しを行いません
flow/websocket/add/info?t=1540813753999
それが行うこと(送受信時)は以下です。これらのライブラリに精通している人々がこのフォーラムでさらに洞察を追加できる場合にのみ、私はそれを貼り付けています。
>>> SEND
destination:/app/chat
content-length:38
{"from":"nicholas","text":"try again"}
<<< MESSAGE
destination:/topic/messages
content-type:application/json;charset=UTF-8
subscription:sub-0
message-id:m3p096zk-11
content-length:53
{"from":"nicholas","text":"try again","time":"13:46"}