'flash에서 wiimote를 사용하기 위한 방법' 에 대해 알아본다.
( flash에 wiimote를 적용해야만 하는 특별한 이유가 있음은 아니고,
비교적 간단한 어플을 빠른 속도로 제작할 수 있기 때문. )
여타 더 좋은 방법이 있을 지도 모르나,
우선 생각난 것은 소켓통신.
A1. VS2005 C++을 이용한 서버.
B1. wiimote데이터를 읽음.
B2. 접속한 클라이언트에게 wiimote데이터 보냄.
A2. Flash Ver8을 이용한 클라이언트.
B1. http://jrr.kr/50 와 같이 Flash 소켓 오픈하여 데이터 읽음.
정도로 간단히 생각했으나,
약간의 문제.
A1 C++상의 구조체/클래스 데이터를 flash가 어떻게 파싱하는가?
예를들어
으로 보내면,
flash에서 이를 어떻게 처리하느냐 이다.
flash는 float/double/int/short etc 의 데이터 타입에 큰 의미를 두지 않는다.
Number/String정도로 구분할 뿐이며, 이마저도 명확하게 구분하지 않는 유연함을 갖는다.
따라서 c++에서 보내는 바이너리 타입의 데이터를 flash가 처리 하지 못한다.
결국 서버에서 데이터를 보낼 때, 문자열로 모두 변환하여 전송한다.
식으로...
flash 쪽에서도 ","를 기준으로 String split를 수행해야 하므로 오버헤드 증가 문제.
더 나은 방법 알아보는 중.
내일은 낙향, 일주일 후 돌아옴.
( flash에 wiimote를 적용해야만 하는 특별한 이유가 있음은 아니고,
비교적 간단한 어플을 빠른 속도로 제작할 수 있기 때문. )
여타 더 좋은 방법이 있을 지도 모르나,
우선 생각난 것은 소켓통신.
A1. VS2005 C++을 이용한 서버.
B1. wiimote데이터를 읽음.
B2. 접속한 클라이언트에게 wiimote데이터 보냄.
A2. Flash Ver8을 이용한 클라이언트.
B1. http://jrr.kr/50 와 같이 Flash 소켓 오픈하여 데이터 읽음.
정도로 간단히 생각했으나,
약간의 문제.
A1 C++상의 구조체/클래스 데이터를 flash가 어떻게 파싱하는가?
예를들어
struct WiimoteData{
float pitch, yaw, roll;
};
WiimoteData wd;
send(소켓, (char*)&wd, sizeof(WiimoteData), 0);
float pitch, yaw, roll;
};
WiimoteData wd;
send(소켓, (char*)&wd, sizeof(WiimoteData), 0);
으로 보내면,
flash에서 이를 어떻게 처리하느냐 이다.
flash는 float/double/int/short etc 의 데이터 타입에 큰 의미를 두지 않는다.
Number/String정도로 구분할 뿐이며, 이마저도 명확하게 구분하지 않는 유연함을 갖는다.
따라서 c++에서 보내는 바이너리 타입의 데이터를 flash가 처리 하지 못한다.
결국 서버에서 데이터를 보낼 때, 문자열로 모두 변환하여 전송한다.
//적당한 크기의 문자열 생성. WiimoteData의 데이터를 문자열로
//변환하였을 때, 모든 정보가 담길 정도의 적당한 크기
char toFlashData[128];
//문자열 생성
sprintf( toFlashData, "%f,%f,%f", pitch, yaw, roll);
//문자열 전송
send(소켓, toFlashData, strlen(toFlashData), 0);
//변환하였을 때, 모든 정보가 담길 정도의 적당한 크기
char toFlashData[128];
//문자열 생성
sprintf( toFlashData, "%f,%f,%f", pitch, yaw, roll);
//문자열 전송
send(소켓, toFlashData, strlen(toFlashData), 0);
식으로...
flash 쪽에서도 ","를 기준으로 String split를 수행해야 하므로 오버헤드 증가 문제.
더 나은 방법 알아보는 중.
내일은 낙향, 일주일 후 돌아옴.
'Computer > Flash' 카테고리의 다른 글
Adobe Flash based Spherical Panorama ( Skybox ) (0) | 2010.10.15 |
---|---|
Flash Ver8 Livedocs ( Kor and Eng ) (0) | 2008.08.11 |
Flash & Java Socket (0) | 2006.07.13 |