//import org.springframework.stereotype.Component;
//import javax.websocket.*;
//import javax.websocket.server.ServerEndpoint;
//import java.io.IOException;
//import java.util.concurrent.CopyOnWriteArraySet;
//
//@ServerEndpoint("/websocket/{userId_app}")
//@Component
//public class AppWebSocket {
//
//    private static final CopyOnWriteArraySet<AppWebSocket> webSocketSet = new CopyOnWriteArraySet<>();
//
//    private Session session;
//
//    @OnOpen
//    public void onOpen(Session session) {
//        this.session = session;
//        webSocketSet.add(this);
//        System.out.println("App connected: " + session.getId());
//    }
//
//    @OnClose
//    public void onClose() {
//        webSocketSet.remove(this);
//        System.out.println("App disconnected: " + session.getId());
//    }
//
//    @OnMessage
//    public void onMessage(String message) {
//        // 处理接收到的消息
//    }
//
//    @OnError
//    public void onError(Session session, Throwable error) {
//        System.out.println("Error for session: " + session.getId() + " - " + error.getMessage());
//    }
//
//    public void sendMessage(String message) throws IOException {
//        this.session.getBasicRemote().sendText(message);
//    }
//
//    public static void broadcast(String message) {
//        for (AppWebSocket client : webSocketSet) {
//            try {
//                client.sendMessage(message);
//            } catch (IOException e) {
//                e.printStackTrace();
//            }
//        }
//    }
//}