- 클라이언트
1. 적용방법
- 안드로이드 스튜디오: File ->Projcet Structure -> Modules에서 해당 app 을 선택 -> Dependencies 탭에서 + 를 눌러서 com.github.nkzawa:socket.io-client:0.6.0 을 추가한다.
2. 중요 명령
- 소켓 선언
Socket mSocket;
{
try {
mSocket = IO.socket(http://xxx.218.xxx.33:xxxx); }
catch (URISyntaxException e) {}
}
- 소켓 연결
mSocket.connect();
- 이벤트 보내기(JSON 을 보낼수 있습니다. 이벤트 명은 string으로 등록합니다.)
JSONObject obj = new JSONObject();
try {
obj.put("image", byteArrayImage);
mSocket.emit("connect_start", obj);
} catch (JSONException e) {
e.printStackTrace();
}- 리스너 등록(서버에서 보낸 이벤트를 받아오는 리스너를 string 으로 등록합니다.)
mSocket.on("받아올 이벤트 명", listen_start_person);
private Emitter.Listener listen_start_person = new Emitter.Listener() {
public void call(Object... args) {
final JSONObject obj = (JSONObject)args[0];//서버에서 보낸 JSON객체를 사용할 수 있습니다.
runOnUiThread(new Runnable() {
@Override
public void run() {//이곳에 ui 관련 작업을 할 수 있습니다.
}
});
}
};
- 리스너 해제
mSocket.off("picture", listen_picture);
- 서버
* node.js 를 이용할때 socke.io 버전에 따라서 명령어가 조금씩 다릅니다.
npm install socket.io 로 설치할 경우 최신 버전이 설치되는데
꼭, http://socket.io/ 에서 문서를 확인하세요.(참고로 서버의 socket.io가 최신이 아닐경우
안드로이드에서 connect 시도 시 handler 에러가 발생하는 걸 확인했습니다.)