diff --git a/src/main/java/com/example/cosmos_serversb/CosmosServerSbApplication.java b/src/main/java/com/example/cosmos_serversb/CosmosServerSbApplication.java index 416e897..560c871 100644 --- a/src/main/java/com/example/cosmos_serversb/CosmosServerSbApplication.java +++ b/src/main/java/com/example/cosmos_serversb/CosmosServerSbApplication.java @@ -9,12 +9,12 @@ import org.springframework.web.socket.config.annotation.WebSocketConfigurer; import org.springframework.web.socket.config.annotation.WebSocketHandlerRegistry; -@SpringBootApplication -@Configuration -@EnableWebSocket +//@SpringBootApplication +//@Configuration +//@EnableWebSocket public class CosmosServerSbApplication { - public static void main(String[] args) { - SpringApplication.run(CosmosServerSbApplication.class, args); - } +// public static void main(String[] args) { +// SpringApplication.run(CosmosServerSbApplication.class, args); +// } } diff --git a/src/main/java/com/example/cosmos_serversb/JerseyConfig.java b/src/main/java/com/example/cosmos_serversb/JerseyConfig.java index 3ebeb8a..8cff728 100644 --- a/src/main/java/com/example/cosmos_serversb/JerseyConfig.java +++ b/src/main/java/com/example/cosmos_serversb/JerseyConfig.java @@ -1,5 +1,6 @@ package com.example.cosmos_serversb; + import javax.ws.rs.ApplicationPath; import javax.ws.rs.Path; diff --git a/src/main/java/com/example/cosmos_serversb/ServletInitializer.java b/src/main/java/com/example/cosmos_serversb/ServletInitializer.java index 015e625..8cb10bf 100644 --- a/src/main/java/com/example/cosmos_serversb/ServletInitializer.java +++ b/src/main/java/com/example/cosmos_serversb/ServletInitializer.java @@ -1,13 +1,22 @@ package com.example.cosmos_serversb; +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.builder.SpringApplicationBuilder; import org.springframework.boot.web.servlet.support.SpringBootServletInitializer; +import org.springframework.context.annotation.Configuration; +import org.springframework.web.socket.config.annotation.EnableWebSocket; +@SpringBootApplication +@Configuration +@EnableWebSocket public class ServletInitializer extends SpringBootServletInitializer { - + public static void main(String[] args) { + SpringApplication.run(ServletInitializer.class, args); + } @Override protected SpringApplicationBuilder configure(SpringApplicationBuilder application) { - return application.sources(CosmosServerSbApplication.class); + return application.sources(ServletInitializer.class); } } diff --git a/src/main/java/com/example/cosmos_serversb/resources/WebSocket.java b/src/main/java/com/example/cosmos_serversb/resources/WebSocket.java index e3b375c..86988d3 100644 --- a/src/main/java/com/example/cosmos_serversb/resources/WebSocket.java +++ b/src/main/java/com/example/cosmos_serversb/resources/WebSocket.java @@ -12,7 +12,7 @@ import org.springframework.web.socket.handler.TextWebSocketHandler; @Component -@ServerEndpoint("/websocket") +//@ServerEndpoint("/websocket") public class WebSocket extends TextWebSocketHandler { private static final Set sessions = new HashSet<>(); //private ConcurrentHashMap> roomSessionPool = new ConcurrentHashMap<>(); diff --git a/src/test/java/WebSocketTest/SampleClient.java b/src/test/java/WebSocketTest/SampleClient.java index 1bd18d4..a37c7c8 100644 --- a/src/test/java/WebSocketTest/SampleClient.java +++ b/src/test/java/WebSocketTest/SampleClient.java @@ -22,7 +22,7 @@ WebSocket ws; final Request request = new Request.Builder() -// .url("http://localhost:8080/WebSocketSampleServer") +// .url("http://localhost:8081/WebSocketServer") //テスト用 .url("http://localhost:8080/websocket") .build(); final OkHttpClient client = new OkHttpClient.Builder() diff --git a/src/test/java/WebSocketTest/WebSocketSampleServer.java b/src/test/java/WebSocketTest/WebSocketSampleServer.java new file mode 100644 index 0000000..77720a6 --- /dev/null +++ b/src/test/java/WebSocketTest/WebSocketSampleServer.java @@ -0,0 +1,43 @@ +package WebSocketTest; + +import org.springframework.web.socket.WebSocketSession; + +import javax.websocket.*; +import javax.websocket.server.ServerEndpoint; +import java.util.HashSet; +import java.util.Set; + +@ServerEndpoint("/WebSocketServer") +public class WebSocketSampleServer { + private static final Set sessions = new HashSet<>(); + + @OnOpen + public void onOpen(Session session) { + /* セッション確立時の処理 */ + System.out.println("WebSocketセッション確立"); + sessions.add(session); + } + + @OnMessage + public String onMessage(String message) { + /* メッセージ受信時の処理 */ + System.out.println("WebSocket受信:" + message); + for(Session session : sessions){ + session.getAsyncRemote().sendText(message); + //session.getBasicRemote().sendText(message); + } + return "正常にメッセージを受信しました。"; + } + + @OnError + public void onError(Throwable th) { + /* エラー発生時の処理 */ + System.out.println("WebSocketエラー:" + th.getMessage()); + } + + @OnClose + public void onClose(Session session) { + /* セッション解放時の処理 */ + System.out.println("WebSocketセッション確立"); + } +}