예전에 JavaScript를 이용한 Local Shared Object 라이브러리를 블로그에 소개했었는데요.  
  1. SharedObject in Macromedia Flash
  2. Shared Object library - powerful browser cookie?

이는 일종의 브라우저 쿠키와 매우 유사하지만 그 기능은 좀더 강합니다. 하지만 Expire에 대한 메커니즘은 포함되어 있지 않습니다.

제가 개발했던 Shared Object 제어를 위한 JavaScript 라이브러리는 사용자 PC에 .so파일을 생성하여 Flash Movie에서 이 .so 파일에 데이터를 읽고 쓸 수 있는 방식이였습니다.  이로써 제한적인 쿠키의 제한적인 부분을 해소해 보고자 했었습니다.

하지만 Ajaxian.com 에 소개된 jsSO – Flash Shared Objects in JavaScript는 Adobe Systems의 FMS(Flash Media Server)와 같은 RTMP 프로토콜을 사용하는 서버(이하 RTMP 서버)를 통해서 하나의 공유 객체를 동일 Flash Movie를 사용하는 사용자들끼리 이 객체를 공유할 수 있게 됩니다.

간단히 아래의 구조를 갖습니다.  

 

RTMP 프로토콜은 아래 링크를 참고해주세요.
http://ko.wikipedia.org/wiki/리얼_타임_메시징_프로토콜 
http://www.adobe.com/aboutadobe/pressroom/pressreleases/200901/012009RTMP.html

실제 위의 web-user1 과 web-user2는 Shared Object 의 정보를 갖고 또한 실시간(real-time)으로 RTMP 서버에 의해서 각 유저들에게 공유 객체의 데이터를 보내게 됩니다.

jsSO 개발자도 JavaScript에서 게임과 채팅과 같은 애플리케이션을 개발해보고자 한듯 하네요.

Adobe의 FMS 3.5를 제외한  Red5Mammoth 의 경우에는 오픈 소스 프로젝트로 진행중입니다.
위 서버와 구조를 잘 활용한다면 매우 재미있는 서비스들을 많이 개발할 수 있을 것입니다.




위 소스는 사내에서 Red5 에 대한 분석자료를 만들면서 예시로 만들었던 라이브 스트리밍 혹은 퍼블리싱 되는(FLV, MP4, AVI, MP3) 스트리밍을 보는 예제 소스입니다.  혹 도움이 될까해서 올려봅니다.

jsSO - Flash Shared Objects in Javascript
Ajaxian.com : http://ajaxian.com/archives/jsso-flash-shared-objects-in-javascript
Red5 : http://osflash.org/red5
Mamoth : http://mammothserver.org/

신고
Posted by Rhio.kim