Android WebSocket开发

Posted York

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android WebSocket开发相关的知识,希望对你有一定的参考价值。

一,在模块build.gradle中添加webSocket的依赖包

//WebSocket 依赖包
implementation ‘com.neovisionaries:nv-websocket-client:2.2‘

二,连接webSocket

  try {
          WebSocket ws = new WebSocketFactory().createSocket(url, CONNECT_TIMEOUT) //ws地址,和设置超时时间
                    .setFrameQueueSize(FRAME_QUEUE_SIZE)//设置帧队列最大值为5
                    .setMissingCloseFrameAllowed(false)//设置不允许服务端关闭连接却未发送关闭帧
                    .addListener(wsListener = new WsListener())//添加回调监听
                    .connectAsynchronously();//异步连接

        } catch (IOException e) {
            e.printStackTrace();
        }

三、添加内部类,实现回调监听

/**
     * 继承默认的监听空实现WebSocketAdapter,重写我们需要的方法
     * onTextMessage 收到文字信息
     * onConnected 连接成功
     * onConnectError 连接失败
     * onDisconnected 连接关闭
     */
    class WsListener extends WebSocketAdapter {
        @Override
        public void onTextMessage(WebSocket websocket, String text) throws Exception {
            super.onTextMessage(websocket, text);
            logger.info(text);
            String[] msgs = text.split("\|");
            if (msgs.length >= 2) {
                NotificationShow(msgs[0], msgs[1]);
                sendReceiveMessageBroadcast(msgs[0], msgs[1]);
            }
        }

        @Override
        public void onConnected(WebSocket websocket, Map<String, List<String>> headers)
                throws Exception {
            super.onConnected(websocket, headers);
            logger.info("连接成功");
        }

        @Override
        public void onConnectError(WebSocket websocket, WebSocketException exception)
                throws Exception {
            super.onConnectError(websocket, exception);
            logger.warning("连接错误:" + exception.getMessage());
        }

        @Override
        public void onDisconnected(WebSocket websocket, WebSocketFrame serverCloseFrame, WebSocketFrame clientCloseFrame, boolean closedByServer)
                throws Exception {
            super.onDisconnected(websocket, serverCloseFrame, clientCloseFrame, closedByServer);
            logger.warning("断开连接");
        }

    }

 

以上是关于Android WebSocket开发的主要内容,如果未能解决你的问题,请参考以下文章

Android代码片段

Android 逆向Android 进程注入工具开发 ( Visual Studio 开发 Android NDK 应用 | Visual Studio 中 SDK 和 NDK 安装位置 )(代码片段

Android开发-WebSocketWssDemo

Android开发-WebSocketWssDemo

Android课程---Android Studio使用小技巧:提取方法代码片段

Android 逆向Android 逆向通用工具开发 ( Android 平台运行的 cmd 程序类型 | Android 平台运行的 cmd 程序编译选项 | 编译 cmd 可执行程序 )(代码片段