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才可以)
  • 相关阅读:
    jmeter性能测试指标
    jmeter中的几个重要测试指标释义
    jmeter2------常见元件
    jmeter1---------jmeter常用语和结果字段
    jmeter中默认语言的显示
    接口压测工具--jmeter(转)
    正则表达式(二)
    正则表达式(一)
    Python爬虫 爬取Web页面图片
    python 线程与进程
  • 原文地址:https://www.cnblogs.com/pxblog/p/15342745.html
Copyright © 2011-2022 走看看