2015-05-16 28 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是收到的消息。你的實現只是迴應它,這可能不是你想要做的 - 只要把你的邏輯放在那裏。

相關問題