Код: Выделить всё
@ServerEndpoint(value = "/demoApp")
public class MyWebSocketServer {
@OnMessage
public String onMessage (String message, Session session) throws IOException {
for(Session session1 : Main.sessions){
if(!session1.equals(session)){
session1.getBasicRemote().sendText(message);
}
}
}
}
И у меня есть клиентская часть:
Код: Выделить всё
@ClientEndpoint
public class WebSocketClient {
@OnMessage
public void onMessage (String message, Session session) {
System.out.println("[SERVER RESPONSE]: " + message);
MyJFrame.setButtonGrid(message);
}
}
Код: Выделить всё
public class MyJFrame extends javax.swing.JFrame {
//some generated stuff
public static void setButtonGrid(String message){
Component[] components = this.getContentPane().getComponents();
int i = 0;
for(Component component : components){
if(component instanceof JButton button){
if("Restart".equals(button.getText())){
continue;
}
if(message.charAt(i) == '*'){
button.setText("");
}
else {
button.setText(message.charAt(i) + "");
}
}
}
}
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new TTTForm().setVisible(true);
}
});
ClientManager clientManager = ClientManager.createClient();
URI uri = null;
try {
uri = new URI("ws://localhost:8080/java/demoApp");
session = clientManager.connectToServer(WebSocketClient.class, uri);
} catch (URISyntaxException e) {
e.printStackTrace();
} catch (DeploymentException e) {
e.printStackTrace();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
Подробнее здесь: https://stackoverflow.com/questions/791 ... components
Мобильная версия