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会自动重连。

  • 相关阅读:
    JS高级-虚拟DOM
    JS高级-异步
    tomcat server.xml中文版
    java中的等于
    eclipse version
    angularjs中父,子,兄之间controller值得传递
    《那一天,那一月,那一年,那一世》-------仓央嘉措
    用jsonp格式的数据进行ajax post请求变成get
    git常用指令
    让div支持placeholder属性/模拟输入框的placeholder属性
  • 原文地址:https://www.cnblogs.com/zhaozilongcjiajia/p/11075693.html
Copyright © 2011-2022 走看看