socket-io

使用GitHub上開源框架實(shí)現(xiàn)socket

1.在build文件中引入:compile 'com.github.nkzawa:socket.io-client:0.3.0'

-- 鏈接 : https://github.com/nkzawa/socket.io-android-chat (英文的文檔,中文的可以百度上搜一下)

2.在manifest中添加網(wǎng)絡(luò)權(quán)限?<uses-permission android:name="android.permission.INTERNET" />

3.加入到服務(wù)器端socket

private Socket mSocket;

{

try {

mSocket = IO.socket("http://192.168.xxx.xxx:xxxx");//ip與端口與服務(wù)器一致

} catch (URISyntaxException e) {

}

}

@Override

public View onCreateView(LayoutInflater inflater, ViewGroup container,

Bundle savedInstanceState) {

View view = x.view().inject(this, inflater, container);

initSockte();

return view;

}

?4.

private void initSockte() {

mSocket.on("tic", onNewMessage);//與服務(wù)器保持一致

mSocket.connect();

}

//

private Emitter.Listener onNewMessage = new Emitter.Listener() {

@Override

public void call(final Object... args) {

if(getActivity()==null){

return;

}

getActivity().runOnUiThread(new Runnable() {

@Override

public void run() {

JSONObject data = (JSONObject) args[0];

String jj ;

try {

jj = data.getString("close");

} catch (JSONException e) {

e.printStackTrace();

return;

}

}

});

}

};

5.關(guān)閉連接

@Override

public void onDestroyView() {

Log.i("socketlog","我關(guān)啦");

super.onDestroyView();

if(mSocket!=null){

mSocket.disconnect();

mSocket.off("tic", onNewMessage);

}

}

主要的方法在? on(),off(),還有事件監(jiān)聽,與服務(wù)器端事件相同。

友情鏈接:https://socket.io/blog/native-socket-io-and-android/

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容