android 使用java-websocket实现wss socket连接

开发工具:android studio 3.1.3
小白看看就好了,大神飘过。

由于先前的的socket搭建起来给小程序用的。然后出现只能用wss来连接。在做转发的时候遇到了点问题放弃了。于是直接使用 Java-WebSocket 来实现了。
大部分过程在java-websocket-wiki中给出了。我也只能给大家抛个砖头自己去看了。我直接引入外部库就实现了,大致流程如下。(默认支持一般socket连接的哦)

引入外部库

在模块依赖的配置文件中添加implementation "org.java-websocket:Java-WebSocket:1.3.9" Java-WebSocket给出的是compile "org.java-websocket:Java-WebSocket:1.3.9"但是在我这个AS环境报错了,自行斟酌使用。

android 使用java-websocket实现wss socket连接_第1张图片
dependencies

新建客户端类

继承SocketClient接下来就交给AS处理了,windows下直接ALT+Enter方法全部自动生成~

android 使用java-websocket实现wss socket连接_第2张图片
新建客户端类

顺便贴一下代码吧~

package cn.zhushuliang.kuai.mysecondapp;

import org.java_websocket.client.WebSocketClient;
import org.java_websocket.handshake.ServerHandshake;

import java.net.URI;
import java.net.URISyntaxException;

public class SocketClient extends WebSocketClient {

    /**
     * 此方法为了直接运行测试用例,实际使用自行此类重写
     * @param args
     * @throws URISyntaxException
     */
    public static void main(String[] args) throws URISyntaxException {
        WebSocketClient client = new SocketClient(new URI("wss://socket.xxxxx.com"));
        client.connect();
    }

    public SocketClient(URI serverUri) {
        super(serverUri);
    }

    @Override
    public void onOpen(ServerHandshake handshakedata) {
        System.out.println( "opened connection" );
    }

    @Override
    public void onMessage(String message) {
        System.out.println( message);
        // send(message);
    }

    @Override
    public void onClose(int code, String reason, boolean remote) {
        System.out.println( "Connection closed by " + ( remote ? "remote peer" : "us" ) );
    }

    @Override
    public void onError(Exception ex) {
        ex.printStackTrace();
    }

}

最后给出成功结果


android 使用java-websocket实现wss socket连接_第3张图片
测试结果

你可能感兴趣的:(android 使用java-websocket实现wss socket连接)