ActionScript – 개발환경을 정말 이렇게 밖에 못 만드나

앞에서 언급한 것 처럼 ActionScript 를 가지고 삽질 중.

ActionScript 파일 (.as) 들을 묶어서 클라이언트 응용을 띄우고, 서버 응용과 통신을 하게 되는데 (XML 교환이 가능) 이게 좀 가관이다. 앞에서 말한 “오프라인으로 FlashPlayer 를 설정할 수 없는 문제”를 차치하고라도, 단 하나의 클라이언트-서버 연결을 테스트하기 위해 다음과 같은 것이 필요하다.

  • 클라이언트 응용이 컴파일된 .swf 파일 혹은 이에 해당하는 바이너리 — 내 경우엔 mtasc로 컴파일한 .swf
  • .swf 를 서비스할 웹 서버 — 서버와 통신하려면 이 수단 밖엔. 혹은 외부 네트웍에 노출된 개발 서버가 있다거나(어이)
  • .swf 의 통신에 대한 설정을 위한 Flash Policy Daemon

마지막이 좀 생소한 거였는데, adobe 홈페이지에선 지난 달 (4월 14일) 부로 Setting up a socket policy file server 라는 아티클이 올라왔다. 지난 Flash Player Update (9.0.r124.0) 이후로 플래쉬 플레이어 (웹 브라우져 내장(FF)과 오프라인 플레이어 모두 동일한 동작) 는 이런 동작을 한다.

  • Socket Policy File Server에 접속을 시도 — .swf가 다운로드된 서버의 843번 포트로 접속해서 소켓 정책에 대한 다운로드를 요구
  • 위가 실패하면 .swf 가 다운로드된 서버로 접속할 때 접속되자마자 해당 소켓으로 xml 기반의 요청을 보낸다
  • 모두 없으면 동작중단

Flash Player 새 버젼을 다운로드 받아서 오프라인 인스톨을 하고나서 이 동작을 경험하고 나니 당황스럽다. 다만, 나야 테스트 비슷한 것만 잠시 해주면되니 웹 서버도 파이썬으로 대충 짜고, 소켓 정책 파일 서버도 해당 아티클에서 예제로 — 프로덕션 환경에선 쓸 물건이 아니라고 명시된 — 나온 python daemon을 띄우고 있긴한데.

개발 환경 구성이 좀 문제가 많은거 아닌가. 간단한 서버 — 클라이언트 응용이라도 이 모든 부분이 필요하다. 간단히 mock 객체로 대응시켜서 해결할 수 있는 것도 아니고. Adobe에서 좀 더 근본적인 정책 수정이 필요한게 아닐까 -_-a

Jinuk Kim
Jinuk Kim

SW Engineer / gamer / bookworm / atheist / feminist

Articles: 935

5 Comments

  1. 아무래도 보안에 좀 *과*하게 신경을 쓰다가
    말그대로 계층에 목메다 멍청한 짓을 해버렸나봅니다.

  2. 개발자용 바이너리(바이트코드)생성 모드가 있으면 좋겠는데 -_-;;

    Flash CS3 같은걸 직접 쓰면 문제가 없거나 적은듯도한데, 공개된 툴로만은 짜증나네 -_-;; 아예 디버깅을 말라던가[…]

  3. 그래도…X도 모르는 인간이 RTOS만들겠다고…하는 상황보단 낫잖습니까. 간단하대요……mutex따윈 필요도 없구요…잘짜면 된대요… 자기코드는 완벽하대요…근데 퀄리티는 쓰레기에요…

    이상 꼴보기싫은 모 수석을 뒷담화로 씹은 찌질한 칼쓰뎅군이었습니다. -_-;

  4. kalstein / 그건 사람의 문제고, 이건 개발 환경의 문제입니다. 좀 다르겠네요;
    (힘들고 괴롭기야 사람 문제가 더하지만; )

  5. Flash Socket Policy 설정…

    Adobe Flash의 소켓 정책(socket flash or flash policy or cross-domain (socket) policy)은 Flash Player 의 소켓 연결과 관련된 보안 정책을 처리하는 방법을 기술한다. 특히 이종 도메인간의 연결은 이 것 없인 불…..

Leave a Reply