码迷,mamicode.com
首页 > 其他好文 > 详细

socket 即时通讯

时间:2019-06-24 10:50:20      阅读:107      评论:0      收藏:0      [点我收藏+]

标签:一个   event   url   roi   mit   nec   org   group   eve   

依赖:

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

socket 即时通讯

标签:一个   event   url   roi   mit   nec   org   group   eve   

原文地址:https://www.cnblogs.com/zhaozilongcjiajia/p/11075693.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!