zoukankan      html  css  js  c++  java
  • JAVA实现websocket客户端

    pom依赖

     <dependency>
                <groupId>org.java-websocket</groupId>
                <artifactId>Java-WebSocket</artifactId>
                <version>1.3.8</version>
            </dependency>
    
            <dependency>
                <groupId>com.alibaba</groupId>
                <artifactId>fastjson</artifactId>
                <version>1.2.75</version>
            </dependency>

    fastjson是用来发送json数据的 可以用自己的

    MyWebSocketClient.java
    import java.net.URI;
    import com.alibaba.fastjson.JSONObject;
    import org.java_websocket.client.WebSocketClient;
    import org.java_websocket.handshake.ServerHandshake;
    import org.slf4j.Logger;
    import org.slf4j.LoggerFactory;
    
    /**
     *  websocket客户端监听类
     * @author*/
    public class MyWebSocketClient extends WebSocketClient {
    
        private static Logger logger = LoggerFactory.getLogger(MyWebSocketClient.class);
    
        public MyWebSocketClient(URI serverUri) {
            super(serverUri);
        }
    
        @Override
        public void onOpen(ServerHandshake serverHandshake) {
            logger.info(">>>>>>>>>>>websocket open");
        }
    
        @Override
        public void onMessage(String s) {
            logger.info(">>>>>>>>>> websocket message");
           
        }
    
        @Override
        public void onClose(int i, String s, boolean b) {
            logger.info(">>>>>>>>>>>websocket close");
        }
    
        @Override
        public void onError(Exception e) {
            logger.error(">>>>>>>>>websocket error {}",e);
        }
    
    
    }

    使用

     public static void main(String[] args) {
            try {
                MyWebSocketClient myClient = new MyWebSocketClient(new URI("ws://192.168.2.20:8080"));
                myClient.connect();
                while (!myClient.getReadyState().equals(WebSocket.READYSTATE.OPEN)) {
                    System.out.println("连接中。。。");
                    Thread.sleep(1000);
                }
                // 连接成功往websocket服务端发送数据
                JSONObject object = new JSONObject();
                object.put("message", "success连接");
                myClient.send(object.toJSONString());
            } catch (Exception e) {
                e.printStackTrace();
            }
        }

    使用完之后 可以调用myClient.close()方法关闭

    -----------------------有任何问题可以在评论区评论,也可以私信我,我看到的话会进行回复,欢迎大家指教------------------------ (蓝奏云官网有些地址失效了,需要把请求地址lanzous改成lanzoux才可以)
  • 相关阅读:
    联想 Vibe Shot(Z90-3) 免recovery 获取ROOT权限 救砖 VIBEUI V3.1_1625
    联想 Z5S(L78071)免解锁BL 免rec 保留数据 ROOT Magisk Xposed 救砖 ZUI 10.5.370
    联想 Z5(L78011) 免解锁BL 免rec 保留数据 ROOT Magisk Xposed 救砖 ZUI 10.5.254
    联想 S5 Pro(L78041)免解锁BL 免rec 保留数据 ROOT Magisk Xposed 救砖 ZUI 5.0.123
    第二阶段 冲刺八
    第二阶段 冲刺七
    第二阶段 冲刺六
    第二阶段 冲刺五
    代码大全阅读笔记03
    学习进度十二
  • 原文地址:https://www.cnblogs.com/pxblog/p/15342745.html
Copyright © 2011-2022 走看看