본문 바로가기
컴퓨터/cocos2d-x

cocos2d-x Socket-IO 활용

by 김짱쌤 2015. 3. 10.

SocketIO란?

  • 매우 편리한 네트워크 연결 라이브러리 (알아서 검색)

예제 코드

http://qiita.com/kuuki_yomenaio/items/c25477c9394c1709019b

node js 최신버전은 윈도우 8.1에서 안돌아간다.

http://stackoverflow.com/questions/25103499/cant-start-npm-on-windows-8-error-enoent-stat-c-users-user-appdata-roaming

handshake 문제

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