2015-05-16 30 views
1

我在客户端(javascript)中使用websocket,在服务器端使用java类。获取OnMessage()的值websocket

这是我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)); 
} 

} 

这是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(); 
    } 
} 
} 

,这是我的JavaScript函数来发送消息

$scope.savedata=function(){ 

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

       }; 

    }; 

如何获得发送的消息在服务器端的值?

+0

任何想法!!!!!! – software

回答

1

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

在服务器端。 unscrambledWord是收到的消息。你的实现只是回应它,这可能不是你想要做的 - 只要把你的逻辑放在那里。

相关问题