'프로젝트/안드로이드'에 해당되는 글 1건

  1. 2015.09.03 Socket.io 정리

- 클라이언트

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 에러가 발생하는 걸 확인했습니다.)

 

 

 

 
 
 
 
 
Posted by agaytr
,