简体   繁体   English

获取OnMessage()websocket的值

[英]get the value of OnMessage() websocket

I'm using websocket in the client side (javascript) and in the server side a java class. 我在客户端(javascript)和服务器端使用java类的websocket。

This is my WordgameServerEndpoint side class 这是我的WordgameServerEndpoint副类

@ServerEndpoint(value = "/socket")
public class WordgameServerEndpoint {

private Logger logger = Logger.getLogger(this.getClass().getName());

@OnOpen
public void onOpen(Session session) {
    logger.info("Connected ... " + session.getId());
}

@OnMessage
public String onMessage(String unscrambledWord, Session session) {
        logger.info("Starting the game by sending first word");
    return unscrambledWord;
}

@OnClose
public void onClose(Session session, CloseReason closeReason) {
    logger.info(String.format("Session %s closed because of %s", session.getId(), closeReason));
}

}

This is the WebSocketServer class 这是WebSocketServer类

public class WebSocketServer {

public static void main(String[] args) {
    runServer();
}

public static void runServer() {
    Server server = new Server("localhost", 9988, "/websockets", WordgameServerEndpoint.class);

    try {
        server.start();
        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
        System.out.print("Please press a key to stop the server.");
        //reader.readLine();
        System.out.println(reader.readLine());
    } catch (Exception e) {
        e.printStackTrace();
    } finally {
        server.stop();
    }
}
}

and this is my javascript function to send message 这是我的JavaScript函数来发送消息

   $scope.savedata=function(){

             socket= new WebSocket('ws://majed-PC:9988/websockets/socket');
              socket.onopen= function() {
                 socket.send('hello');

              };

  };

How do I get the value of the sent message on the server side? 如何在服务器端获取已发送消息的值?

See 看到

@OnMessage
public String onMessage(String unscrambledWord, Session session) {
    logger.info("Starting the game by sending first word");
    return unscrambledWord;
}

on server side. 在服务器端。 unscrambledWord is the received message. unscrambledWord是收到的消息。 Your implementation just echoes it back, which might not be what you want to do - just place your logic there. 您的实现只是将其回显,这可能不是您想要执行的操作-只需将逻辑放在此处即可。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM