SocketIO란?
- 매우 편리한 네트워크 연결 라이브러리 (알아서 검색)
예제 코드
http://qiita.com/kuuki_yomenaio/items/c25477c9394c1709019b
node js 최신버전은 윈도우 8.1에서 안돌아간다.
handshake 문제
- 연결시 handshake waiting이 계속되다가 time out되는 경우
- http://discuss.cocos2d-x.org/t/socketio-problem/14716
socketIO의 event driven 방식은 emit과 on으로 구현된다.
- on으로 클라이언트에 이벤트와 이벤트별 콜백 함수를 등록한다. CC_CALLBACK_2 라는 것에 주의
m_Client->on("hello", CC_CALLBACK_2(NetworkManager::onHello, this));
- 이벤트 이름를 콜백함수와 함께 on으로 등록한다. 등록한 이름의 이벤트를 가진 데이터가 전달되면 그 데이터를 해당 콜백 함수에 전달하면서 실행한다.
- emit은 이벤트 이름과 함께 데이터를 전송하는 것이다.
- emit 형식에 주의 : [{"value":"data"}]
std::string data;
data = "[{\"value\":\"" + dataString + "\"}]";
m_Client->emit("attack", data);
기타
- url은 http붙여도 되고 안붙여도된다. 알아서 파싱
std::string url = "http://10.70.21.113:9090/";
- connect하면 clientSocket을 생성하면서 그 포인터를 넘겨준다.
m_Client = _SocketIO::connect(*this, url);
'컴퓨터 > cocos2d-x' 카테고리의 다른 글
cocos2d-x 3.x 에서 이벤트 드리븐(custom event) (0) | 2015.03.10 |
---|---|
WindowPhone 8 / 8.1 세팅 (0) | 2015.03.10 |
cocos2d-x 의 기본 구조 (0) | 2015.03.10 |