javax创建websocket客户端-ws方式

#pom依赖( 一个是socket api,一个是具体实现)

<dependency>
    <groupId>javax.websocket</groupId>
    <artifactId>javax.websocket-client-api</artifactId>
    <version>1.1</version>
</dependency>
<dependency>
    <groupId>org.glassfish.tyrus.bundles</groupId>
    <artifactId>tyrus-standalone-client</artifactId>
    <version>1.17</version>
</dependency>

 

#客户端

@Slf4j
@ClientEndpoint
public class MyClientEndpoint {
 
    @OnOpen
    public void onOpen(Session session) {
        log.info("客户端连接成功!ID:{}", session.getId());
    }
 
    @OnMessage
    public void processMessage(String message) {
        log.info("客户端接收消息:{}", message);
    }
 
    @OnError
    public void processError(Throwable t) {
        log.info("客户端发生错误:", t);
    }
 
}

 

#调试客户端

@SpringBootApplication
public class DemoWebsocketClientApplication implements CommandLineRunner {
 
    public static void main(String[] args) {
        SpringApplication.run(DemoWebsocketClientApplication.class, args);
    }
 
    @Override
    public void run(String... args) throws Exception {
        try {
            WebSocketContainer container = ContainerProvider.getWebSocketContainer();
            String uri = "ws://localhost:8888";
            Session session = container.connectToServer(MyClientEndpoint.class, URI.create(uri));
            session.getAsyncRemote().sendText("我是客户端的消息");
        } catch (DeploymentException | IOException e) {
            e.printStackTrace();
        }
    }
}

 

posted @ 2020-07-15 20:20  家乐先生  阅读(1706)  评论(0)    收藏  举报