依賴:json
//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初始化失敗"); }
如上:網絡
一、使用emit函數向服務器發送數據(第一個參數表示事件的名稱,服務器以此做爲來判斷是那種事件,第二個參數是傳輸的數據),這裏我發送的是JSON格式的數據,也能夠直接發送字符串;socket
二、使用on函數對接收的數據進行監聽。ide
三、socket初始化後,使用connect函數進行鏈接,斷開網絡重連後socket會自動重連。函數