[이 글은 이전에 쓰던 블로그에서 작성된 이후 새 블로그로 이전된 글입니다.]
우선 소켓서버와 소켓간의 연동도 외부와의 통신이기 때문에 보안 샌드박스에 대한 이해가 필요합니다.
플래시의 보안 샌드박스는 네 가지로 나뉘는데,
1. local-with-filesystem
특별한 설정을 하지 않으면 자동으로 이 샌드박스가 선택됩니다. 이 샌드박스에서 플래시 플레이어는 URLLoader 등으로 로컬 파일을 읽을 수는 있지만, 서버와의 통신은 불가능합니다.
사용자는 자신의 로컬 정보가 네트워크를 통해 누출되지 않음을 확신할 수 있습니다.
2. local-with-networking
로컬 파일에서 네트워크 연동을 할 때 사용되는 샌드박스입니다.
이 샌드박스에서 플래시 플레이어는 서버와 데이터를 주고 받을 수 있으나, 로컬파일에는 액세스가 불가능합니다.
그러나 서버측에서 크로스도메인 관련 파일이나, Security.allowAccess 메서드를 이용해 swf 파일을 허용해 주어야 합니다.
3. local-trusted
신뢰할 수 있는 파일로 등록된 swf 파일입니다.
local-trusted 샌드박스의 swf 파일은 다른 swf 파일과 상호작용하고 로컬과 서버 모두에 접근할 수 있습니다.
4. remote
인터넷 상에 embed 등의 형식으로 붙여 넣어진 플래시 파일입니다.
이 샌드박스에서는 로컬 파일에 액세스 할 수 없으며, 같은 서버의 리소스에는 접근이 허용되지만 외부 서버의 접근에는 local-with-networking 샌드박스와 같이 크로스도메인 파일이나 Security.allowAccess가 필요합니다.
플래시에서 샌드박스 타입 설정은 ‘파일-제작 설정’에서 가능하며 로컬 파일만 액세스와 네트워크만 액세스를 선택할 수 있습니다.
웹 상에 올린 플래시는 모두 remote 샌드박스 안에서 작동하구요, exe 파일이나 테스트 플레이로 실행한 파일들은 local-trusted 샌드박스 안에서 작동합니다.