이번에는 플래시와 asp.net을 연계하여 POST로 데이타를 주고 받는 방법에 대한 설명을 하고자 합니다. 그림 설명을 하기전에 주요 핵심을 말씀드자면 바로 플래시의 'loadVariables'라는 전역함수를 사용하여 POST방식으로 서버에 데이터를 넘기고 다시 서버에서 주는 데이터를 받아내는 것입니다. 기본적인 실행 순서는 다음과 같습니다. 1. 'loadVariables'가 실행되면 플래시에 있는 변수들이 서버측으로 전송된다. 2. 서버측에서 Request로 플래시가 보낸 데이터를 받아낸다. 3. 해당요청에 맞게 작업후 플래시로 보낸다(Response사용).
3가지 사항에 대한 기본을 염두해 두고 따라해 보시면 금방 감이 오실겁니다. 이 글은 asp.net for C#을 위한 설명이며 플래시는 초급수준이면 가능합니다. 기초적인 활용이 가능하신분이면 충분히 따라오시리라 믿습니다.
1. 전송버튼 만들기: 먼저 플래시(8버전 기준)를 실행하고 새로만들기로 flash문서를 하나 생성한 후, 다음과 같이 전송을 위한 버튼 생성을 시작합니다.
2. 입력텍스트 만들기: 서버로 보낼 문자를 입력할 입력난을 만들어 봅시다. 속성은 '입력텍스트', '변수', '텍스트 테두리 표시'부분만 신경 쓰시면 되고 나머지는 그냥 두셔도 됩니다. 여기서 자세히 보실 부분은 변수명입니다. 'txtTime'으로 서버에 요청을 할겁니다.
3. 결과값이 출력될 프레임 생성: 2번 프레임에 빈 키프레임을 하나더 추가하고 위의 과정과 같이 동적텍스트를 하나 생성한 후 마찬가지로 '변수'를 살펴봅니다. 이번엔 변수명을 'txtReturn'으로 설정하였습니다. 바로 서버로부터 데이타를 전달 받을 변수입니다.
4. 되돌아가기 버튼 만들기: 프레임 2에서 프레임 1로 가기위한 버튼을 만들 차례입니다. 한번만 사용하는 경우라면 필요없는 부분이지만, 여러번 서버와 주고받기위해 필요한 과정입니다.
5. 프레임1에 액션스크립트 넣기: 프레임1로 돌아와서 배경 바깥 쪽을 클릭한 후, 다음과 같이 'stop();'을 입력합니다. 반복재생이 되지 않도록 하기 위함입니다.
6. 프레임1 전송버튼에 액션스크립트 넣기: 버튼을 눌렀거나 엔터를 쳤을때 프레임2로 가도록 다음과 같이 액션스크립트를 입력합니다.
7. 프레임2에서 액션스크립트 넣기: (그림의 '되돌아가기'버튼색이 틀리다고 당황해하지 마시길... 단지 색만 변경되었습니다.)프레임1과 마찬가지로 배경바깥 쪽을 클릭한 후, 다음과같이 프레임2가 시작시 실행될 수 있도록 스크립트를 넣어줍니다. 프레임1에서 txtTime에 문자 입력이 있었을 경우라면 'loadVariables'가 실행될 것입니다.
8. 프레임2의 되돌아가기버튼에 액션스크립트 넣기: '되돌아가기'버튼을 클릭하면 프레임1로 갈 수 있도록 다음과 같이 버튼의 액션에 입력합니다.
9. 이제 'postTime.fla'라고 플래시 작업내용을 저장하고 제작을 합니다.
10. asp.net for C#에대한 사항은 그림 한컷으로 마무리하겠습니다. 그렇다고 어려울 것 없습니다. 비주얼 웹 디벨로퍼 또는 비주얼스튜디오등을 사용하여 웹프로젝트를 하나 생성한 후, default.aspx의 코딩 영역(Page_Load)에 다음과 같이 입력하기만 하면 끝입니다. 내용인 즉... 페이지 내용을 싹 지우고 요청(txtTime)이 '시간'이라면 서버의 현재 시각을 보여주고 그렇지 않다면 '시간'이라고 입력해줄 것을 요청한다는 소스입니다.^^
11. 자 이제 9번에서 제작한 플래시 결과물(postTime.html, postTime.swf)을 웹서버의 default.aspx파일이 있는 디렉토리에 복사를 하고 postTime.html을 실행해봅시다. 플래시가 서버로 입력내용을 보내고 받는 과정을 보실 수 있을겁니다.
지금까지 작업한 내용을 확인해 보기 위한 샘플을 만들어 두었으니 플래시 결과물 보기를 클릭해 보세요! 단순한 내용의 연습물이지만, 플래시와 asp.net을 연계하는 기초적인 부분이므로 매우 중요한 샘플이라 할 수 있겠습니다.
플래시 설명에 쓸데없는 그림을 너무 낭비한 듯하여 죄송스런 마음 가지며... 이상으로 얼렁뚱땅 강좌를 마치겠습니다.