Java实现websocket客户端

常规情况下,大多数时候Java后台作为websocket服务端,实现方式也比较简单,网上很多案例代码。但是很多时候项目中服务与服务之间也需要使用websocket通信,此时项目就需要实现客户端功能。

步骤一:导入依赖:

<dependency>
   <groupId>org.java-websocket</groupId>
   <artifactId>Java-WebSocket</artifactId>
   <version>1.3.5</version>
</dependency>

步骤二:实现WebSocketClient抽象类:

该类中和websocket服务端接口类似,有onOpen、onClose、onMessage、onError方法,需要重写。实现该抽象类并注册中一个Bean。后面通过@AutoWired注入即可使用该客户端进行收发消息。

 @Bean
    public WebSocketClient webSocketClient() {
        try {
            WebSocketClient webSocketClient = new WebSocketClient(new URI("websocket服务端地址"), new Draft_6455()) {
                //连接服务端时触发
                @Override
                public void onOpen(ServerHandshake handshakedata) {

                    log.info("websocket客户端和服务器连接成功");
                }
                //收到服务端消息时触发
                @Override
                public void onMessage(String message) {
                    log.info("websocket客户端收到消息={}", message);
                }
                //和服务端断开连接时触发
                @Override
                public void onClose(int code, String reason, boolean remote) {
                    log.info("websocket客户端退出连接");
                }
                //连接异常时触发
                @Override
                public void onError(Exception ex) {
                    log.info("websocket客户端和服务器连接发生错误={}", ex.getMessage());
                }
            };
            webSocketClient.connect();
            return webSocketClient;
        } catch (Exception e) {
            e.printStackTrace();
        }
        return null;
    }

步骤三:使用websocketClient向服务端发送消息:

使用webSocketClient.send()可以向服务端发送消息,查看api可以看到既可以发送String类型,也可以发送byte[]类型。

步骤四:接受处理服务端消息:

如果服务端有消息发送到客户端,那么可以调用webSocketClient.onMessage()方法,进行消息处理。

  • 8
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值