2020-01-28 19:43:20 +01:00
|
|
|
package li.strolch.plc.gw.server;
|
|
|
|
|
|
|
|
import javax.websocket.*;
|
|
|
|
import javax.websocket.server.ServerEndpoint;
|
|
|
|
|
2022-05-02 15:19:32 +02:00
|
|
|
import java.io.IOException;
|
|
|
|
|
2020-01-28 19:43:20 +01:00
|
|
|
import li.strolch.rest.RestfulStrolchComponent;
|
|
|
|
|
|
|
|
@ServerEndpoint("/websocket/strolch/plc")
|
|
|
|
public class PlcServerWebSocketEndpoint {
|
|
|
|
|
2020-07-22 13:28:52 +02:00
|
|
|
private final PlcGwServerHandler serverHandler;
|
2020-01-28 19:43:20 +01:00
|
|
|
|
|
|
|
public PlcServerWebSocketEndpoint() {
|
|
|
|
this.serverHandler = RestfulStrolchComponent.getInstance().getComponent(PlcGwServerHandler.class);
|
|
|
|
}
|
|
|
|
|
|
|
|
@OnMessage
|
2022-05-02 15:19:32 +02:00
|
|
|
public void onMessage(String message, Session session) throws IOException {
|
2020-01-29 23:50:49 +01:00
|
|
|
this.serverHandler.onWsMessage(message, session);
|
2020-01-28 19:43:20 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
@OnMessage
|
|
|
|
public void onPong(PongMessage message, Session session) {
|
2020-01-29 23:50:49 +01:00
|
|
|
this.serverHandler.onWsPong(message, session);
|
2020-01-28 19:43:20 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
@OnOpen
|
|
|
|
public void onOpen(Session session) {
|
2020-01-29 23:50:49 +01:00
|
|
|
this.serverHandler.onWsOpen(session);
|
2020-01-28 19:43:20 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
@OnClose
|
|
|
|
public void onClose(Session session, CloseReason closeReason) {
|
2020-01-29 23:50:49 +01:00
|
|
|
this.serverHandler.onWsClose(session, closeReason);
|
2020-01-28 19:43:20 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
@OnError
|
|
|
|
public void onError(Session session, Throwable throwable) {
|
2020-01-29 23:50:49 +01:00
|
|
|
this.serverHandler.onWsError(session, throwable);
|
2020-01-28 19:43:20 +01:00
|
|
|
}
|
|
|
|
}
|