SocketHandler.java 1.27 KB
package com.huaheng.framework.config;

import org.apache.http.client.utils.URIBuilder;

import javax.websocket.*;
import java.io.IOException;
import java.net.URI;
import java.net.URISyntaxException;

@ClientEndpoint
public class SocketHandler {
    private Session session;

    public SocketHandler() {
        try {
            URIBuilder uriBuilder = new URIBuilder();
            uriBuilder.setScheme("ws");
            uriBuilder.setHost("127.0.0.1");
            uriBuilder.setPort(8989);
            URI uri = uriBuilder.build();
            System.out.println(uri.toString());
            session = ContainerProvider.getWebSocketContainer().connectToServer(this, uri);
        } catch (DeploymentException | IOException e) {
            e.printStackTrace();
        } catch (URISyntaxException e) {
            throw new RuntimeException(e);
        }
    }

    @OnMessage
    public void onMessage(String message) {
        System.out.println(message);
    }

    @OnOpen
    public void onOpen(Session session, EndpointConfig config) {
        System.out.println(session.getId());
    }

    public void sendMessage(String str) {
        try {
            session.getBasicRemote().sendText(str);
        } catch (IOException e) {
            throw new RuntimeException(e);
        }
    }
}