WebSocketサーバーをJavaで簡単に実装してみようと思い
https://yacchi-engineer.com/?p=52
こちらのサイトを参考にコーディングをしました。
実行環境
- Eclipse
コード
Java
1package main; 2 3import javax.websocket.OnClose; 4import javax.websocket.OnError; 5import javax.websocket.OnMessage; 6import javax.websocket.OnOpen; 7import javax.websocket.Session; 8import javax.websocket.server.ServerEndpoint; 9 10/* WebSocketでサーバ側がデータを受け取る場合はエンドポイントを指定する */ 11@ServerEndpoint("/WebSocketServer") 12public class WebSocketServer { 13 14 @OnOpen 15 public void onOpen(Session session) { 16 /* セッション確立時の処理 */ 17 System.out.println("WebSocketセッション確立"); 18 } 19 20 @OnMessage 21 public String onMessage(String message) { 22 /* メッセージ受信時の処理 */ 23 System.out.println("WebSocket受信:" + message); 24 return "正常にメッセージを受信しました。"; //今回追加する部分 25 } 26 27 @OnError 28 public void onError(Throwable th) { 29 /* エラー発生時の処理 */ 30 System.out.println("WebSocketエラー:" + th.getMessage()); 31 } 32 33 @OnClose 34 public void onClose(Session session) { 35 /* セッション解放時の処理 */ 36 System.out.println("WebSocketセッション確立"); 37 } 38} 39
html
1package main; 2 3import javax.websocket.OnClose; 4import javax.websocket.OnError; 5import javax.websocket.OnMessage; 6import javax.websocket.OnOpen; 7import javax.websocket.Session; 8import javax.websocket.server.ServerEndpoint; 9 10/* WebSocketでサーバ側がデータを受け取る場合はエンドポイントを指定する */ 11@ServerEndpoint("/WebSocketServer") 12public class WebSocketServer { 13 14 @OnOpen 15 public void onOpen(Session session) { 16 /* セッション確立時の処理 */ 17 System.out.println("WebSocketセッション確立"); 18 } 19 20 @OnMessage 21 public String onMessage(String message) { 22 /* メッセージ受信時の処理 */ 23 System.out.println("WebSocket受信:" + message); 24 return "正常にメッセージを受信しました。"; //今回追加する部分 25 } 26 27 @OnError 28 public void onError(Throwable th) { 29 /* エラー発生時の処理 */ 30 System.out.println("WebSocketエラー:" + th.getMessage()); 31 } 32 33 @OnClose 34 public void onClose(Session session) { 35 /* セッション解放時の処理 */ 36 System.out.println("WebSocketセッション確立"); 37 } 38} 39
javascript
1$(function() { 2 var url = "ws://localhost:8080/SampleServer/WebSocketServer"; 3 var ws = new WebSocket(url); 4 5 ws.onmessage = function(receive) { 6 $("#message").text(receive.data); 7 }; 8 ws.onopen = function() { 9 ws.send("Hello World!!"); 10 console.log("送信しました"); 11 }; 12});
以上のコードを[サーバーで実行]から実行したのですが
エラーメッセージが出て実行が反映されませんでした。
エラーメッセージ
パス:file:///Users/ユーザー名/SampleWebSite/index.html
"file:///Users/ユーザー名/SampleWebSite/index.html"が見つかりません。パスまたはインターネットアドレスが正しいかどうかを確認してください
このように出てきています。
確かにこの位置にindex.htmlは存在するのですが…。
わかるという方、少しでも良いのでお力添えをお願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/09/23 04:36
2020/09/25 01:40