zoukankan      html  css  js  c++  java
  • socket 即时通讯

    依赖:

    //socket
    implementation ('io.socket:socket.io-client:1.0.0') {
        // excluding org.json which is provided by Android
        exclude group: 'org.json', module: 'json'
    }

    使用时:

    Socket socket;
    try {
        socket = IO.socket(MyApp.baseSocketUrl));
        socket.on(Socket.EVENT_CONNECT, new Emitter.Listener() {
            @Override
            public void call(Object... args) {
                Log.d(TAG, "call: socket已连接");
                LoginSocketBean loginSocketBean = new LoginSocketBean(myApp.getUser_id());
                Gson gson = new Gson();
                JSONObject jsonObject = null;
                try {
                    jsonObject = new JSONObject(gson.toJson(loginSocketBean));
                } catch (JSONException e) {
                    e.printStackTrace();
                }
                Log.d(TAG, "call: 进行登录");
                socket.emit("user_login",jsonObject);
            }
        }).on(Socket.EVENT_DISCONNECT, new Emitter.Listener() {
    
            @Override
            public void call(Object... args) {
                Log.d(TAG, "call: socket已断开连接");
            }
    
        });
        socket.connect();
    } catch (URISyntaxException e) {
        e.printStackTrace();
        Log.d(TAG, "onCreate: socket初始化失败");
    }

    如上:

    1、使用emit函数向服务器发送数据(第一个参数表示事件的名称,服务器以此作为来判断是那种事件,第二个参数是传输的数据),这里我发送的是JSON格式的数据,也可以直接发送字符串;

    2、使用on函数对接收的数据进行监听。

    3、socket初始化后,使用connect函数进行连接,断开网络重连后socket会自动重连。

  • 相关阅读:
    HTML5画的简单时钟
    JS操作网页中的iframe
    JS垂直落体回弹原理
    JS回弹原理高级
    待续...
    JS拖拽面向对象拖拽继承
    JS简单回弹原理
    c++快速排序(从大到小greater/从小到大less)
    搜索素数环
    搜索组合数
  • 原文地址:https://www.cnblogs.com/zhaozilongcjiajia/p/11075693.html
Copyright © 2011-2022 走看看