1 - 모바일무선인터넷시뮬레이터설치가이드 <CPL-TR-09-02> 2009 년 2 월 경북대학교통신프로토콜연구실 김상태 (st.paul1978@gmail.com) 0. 개요 본문서는학부과정의 인터넷프로그래밍설계 과목의강의및실습을위한참조문서이다. 교재에서다루는모바일무선인터넷시뮬레이터의설치안내를제공한다. 본문서에서실험용으로다루는무선인터넷시뮬레이터는다음과같다. 1 KTF ME1.3b: m-html 실습용 2 Openwave 6/7: WML 1/2 실습용 3 KTF KUN 4 UP 상기시뮬레이터코드는다음경로에서받을수있다. http://protocol.knu.ac.kr/lecture/wpd/simulators Openwave 시뮬레이터를제외하면모두압축을풀어바로실행할수있게되어있다. 아래예제는상기한시뮬레이터가설치되어있는상황에서, mhtml 및 WML 문서에대한예제이다. 여기서는편의상 155.230.105.167 서버의해당폴더에서실행한문서결과를보여준다. 1. mhtml 실습 - KTF ME1.3b 시뮬레이터 ME1.3b는 mhtml을지원하는브라우저이다. ME1.3b 브라우저로아래사이트에접속하면다음과같은화면을볼수있다. http://155.230.105.167/mobile/asp/bloodtype/mhtml/index.asp 또한 mhtml 은 HTML 의부분집합이므로 Internet Explorer 로도볼수있다.
2 - KTF ME 브라우저로확인한결과. ( 주소입력시 http://site_name/mhtml/xxx.asp 로직접입력 ) Internet Explorer 로 확인한결과
3 - 위예제의소스코드이다. Response.ContentType="text/html;charset=ks_c_5601-1987" <html> <title> 혈액형별성격 </title> <body> <div><center><a href> 혈액형별성격 </a></center></div> <div><a href="#"> 혈액형으로알아보는성격.</a></div> <div><form name="form_bloodtype" method="get" action="http://155.230.105.167/mobile/asp/bloodtype/mhtml/bloodtype_result.asp"> <div><select name="bloodtype"> <option value="a" >A 형 </option> <option value="b" >B 형 </option> <option value="o" >O 형 </option> <option value="ab" >AB 형 </option> </select></div> <div><input type="submit" value=" 전송 "/></div> </form></div> <btn name=" 상위 " href="http://155.230.105.167/mobile/asp/ipl2007"> </body> </html> http://155.230.105.167/mobile/asp/bloodtype/mhtml/index.asp
4 - Response.ContentType="text/html;charset=ks_c_5601-1987" bloodtype = request("bloodtype") <html> <title> 혈액형별성격 - 결과 </title> <body> <div><center><a href> 혈액형별성격 - 결과 </a></center></div> 당신의혈액형은 <B> =bloodtype 형 </B> 입니다. if bloodtype="a" then <div>----------------</div> <div align="center"><b>a 형 </b></div> <div> 원리원칙주의자. 책임감이강함. 때로는융통성이없다는평도듣는다. 인관관계에있어서는낯가림이있는편. </div> elseif bloodtype="b" then <div>----------------</div> <div align="center"><b>b 형 </b></div> <div> 호기심이왕성한타입. 창조력넘침. 집중력이약함. 조직보다프리랜서활동이더어울림. 인정이많은친절한사람이지만때론쓸데없이참견한다는평을듣기도함 </div> elseif bloodtype="o" then <div>----------------</div> <div align="center"><b>o 형 </b></div> <div> 인간미가있고행동은목적지향적. 정열적. 로맨티스트여서항상꿈을같고사는듯하지만막상돌발적인상황에서는놀랄만큼현실적인자세를보여줌 </div> elseif bloodtype="ab" then <div>----------------</div> <div align="center"><b>ab 형 </b></div> <div> 어떤일이라도요령있게적응하며, 매사객관적으로판단해합리적인행동을하기때문에실수가적은편. 우유부단함. </div> end if <btn name=" 상위 " href="index.asp"> </body> </html> http://155.230.105.167/mobile/asp/bloodtype/mhtml/bloodtype_result.asp
5-2. WML 및 WML2 실습 - Openwave 6.2.2 / 7.0 시뮬레이터 Openwave 시뮬레이터는 WML, WML2, XHTML등을모두지원하는브라우저이다. 아래사이트로접속을하면다음과같은화면을볼수있다. http://155.230.105.167/mobile/asp/bloodtype/wml/index.asp http://155.230.105.167/mobile/asp/bloodtype/wml2/index.asp http://155.230.105.167/mobile/asp/bloodtype/xhtml/index.asp Openwave 6.2.2 시뮬레이터로확인한결과. ( 가운데오류화면은 post 방식을사용한경우 ) Openwave 6.2.2 시뮬레이터의한글설정 : Tools / Options / Device / Language 에서설정 WML 과 WML2 는코드가상당히다르다. WML2 는 xhtml 을기반으로구 WML 코드까지포함할수있도록설계되었다. 다음은위사이트의 WML 및 WML2 코드이다.
6 - < 예제 : index.asp 코드 > Response.ContentType="text/vnd.wap.wml" SU = request("su") SM = request("sm") SCPID = request("scpid") DCMF_PID = request("dcmf_pid") <!--#include file="../include/anybuilder.asp"--> <?xml version="1.0" encoding="ks_c_5601-1987"?> <!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/dtd/wml_1.1.xml"> <wml> <card id ="card1" title=" 혈액형별성격 "> <p mode="nowrap"> 혈액형으로알아보는성격.</p> <p><select name="bloodtype" multiple="false" ivalue="1"> <option value="a" >A 형 </option> <option value="b" >B 형 </option> <option value="o" >O 형 </option> <option value="ab" >AB 형 </option> </select></p> <p mode="nowrap"><do type="accept" label=" 전송 " name="submit11"><go href="http://155.230.105.167/mobile/asp/bloodtype/wml/bloodtype_result.asp?bloodtype=$(blood type)&su==su&sm==sm&scpid==scpid&dcmf_pid= =DCMF_PID" method="get"/></do></p> <do type="vnd.up" label=" 상위 "><go href="http://155.230.105.167/mobile/asp/ipl2007?su==su&sm==sm&scp ID==SCPID&DCMF_PID==DCMF_PID"/></do> </card> </wml> http://155.230.105.167/mobile/asp/bloodtype 의 WML index.asp 코드
7 - Response.ContentType="text/html" SU = request("su") SM = request("sm") SCPID = request("scpid") DCMF_PID = request("dcmf_pid") <?xml version="1.0" encoding="ks_c_5601-1987"?> <!DOCTYPE html PUBLIC "-//WAPFORUM//DTD XHTML Mobile 1.0//EN" "http://www.wapforum.org/dtd/wml20.dtd"> <html> <title> 혈액형별성격 </title> <link rel="stylesheet" type="text/css" href="http://picto.phome.co.kr/style.asp"/> <style type="text/css"> a {text-decoration:none;} </style> <body id ="card1" title=" 혈액형별성격 "> <div style="display:-wap-marquee;-wap-marquee-loop:infinite;"> 혈액형으로알아보는성격.</div> <div><form name="form_bloodtype" method="get" action="http://155.230.105.167/mobile/asp/bloodtype/wml2/bloodtype_result.asp"> <div><input type="radio" name="bloodtype" value="a" />A 형 </div> <div><input type="radio" name="bloodtype" value="b" />B 형 </div> <div><input type="radio" name="bloodtype" value="o" />O 형 </div> <div><input type="radio" name="bloodtype" value="ab" />AB 형 </div> <div><input type="hidden" name="su" value="=su" /></div> <div><input type="hidden" name="sm" value="=sm" /></div> <div><input type="hidden" name="scpid" value="=scpid" /></div> <div><input type="hidden" name="dcmf_pid" value="=dcmf_pid" /></div> <div><input type="submit" value=" 전송 "/></div> </form></div> <wml:do type="vnd.up" label=" 상위 "><wml:go href="http://155.230.105.167/mobile/asp/ipl2007?su==su&sm==sm&scpid= =SCPID&DCMF_PID==DCMF_PID"/></wml:do> </body> </html> http://155.230.105.167/mobile/asp/bloodtype 의 WML2 index.asp 코드
8 - < 예제 : result.asp 코드 > Response.ContentType="text/vnd.wap.wml" bloodtype = request("bloodtype") SU = request("su") SM = request("sm") SCPID = request("scpid") DCMF_PID = request("dcmf_pid") <?xml version="1.0" encoding="ks_c_5601-1987"?> <!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/dtd/wml_1.1.xml"> <wml> <card id ="card1" title=" 혈액형별성격 - 결과 "> 당신의혈액형은 <B> =bloodtype 형 </B> 입니다. if bloodtype="a" then <p>----------------</p> <p align="center" mode="wrap"><b>a 형 </b></p> <p mode="wrap"> 원리원칙주의자. 책임감이강함. 때로는융통성이없다는평도듣는다. 인관관계에있어서는낯가림이있는편. </p> elseif bloodtype="b" then <p>----------------</p> <p align="center" mode="wrap"><b>b 형 </b></p> <p mode="wrap"> 호기심이왕성한타입. 창조력넘침. 집중력이약함. 조직보다프리랜서활동이더어울림. 인정이많은친절한사람이지만때론쓸데없이참견한다는평을듣기도함 </p> elseif bloodtype="o" then <p>----------------</p> <p align="center" mode="wrap"><b>o 형 </b></p> <p mode="wrap"> 인간미가있고행동은목적지향적. 정열적. 로맨티스트여서항상꿈을같고사는듯하지만막상돌발적인상황에서는놀랄만큼현실적인자세를보여줌 </p> elseif bloodtype="ab" then <p>----------------</p> <p align="center" mode="wrap"><b>ab 형 </b></p> <p mode="wrap"> 어떤일이라도요령있게적응하며, 매사객관적으로판단해합리적인행동을하기때문에실수가적은편. 우유부단함. </p> end if <do type="vnd.up" label=" 상위 "><go href="index.asp?su==su&sm==sm&scpid==scpid&dcmf_pid= =DCMF_PID"/></do> </card> </wml> http://155.230.105.167/mobile/asp/bloodtype 의 WML bloodtype_result.asp 코드
9 - Response.ContentType="text/html" bloodtype = request("bloodtype") SU = request("su") SM = request("sm") SCPID = request("scpid") DCMF_PID = request("dcmf_pid") <?xml version="1.0" encoding="ks_c_5601-1987"?> <!DOCTYPE html PUBLIC "-//WAPFORUM//DTD XHTML Mobile 1.0//EN" "http://www.wapforum.org/dtd/wml20.dtd"> <html> <title> 혈액형별성격 - 결과 </title> <link rel="stylesheet" type="text/css" href="http://picto.phome.co.kr/style.asp"/> <style type="text/css"> a {text-decoration:none;} </style> <body id ="card1" title=" 혈액형별성격 - 결과 "> 당신의혈액형은 <B> =bloodtype 형 </B> 입니다. if bloodtype="a" then <hr width="100%" style="color:#000000;width:100%;"/> <div align="center"><b>a 형 </b></div> <div> 원리원칙주의자. 책임감이강함. 때로는융통성이없다는평도듣는다. 인관관계에있어서는낯가림이있는편. </div> elseif bloodtype="b" then <hr width="100%" style="color:#000000;width:100%;"/> <div align="center"><b>b 형 </b></div> <div> 호기심이왕성한타입. 창조력넘침. 집중력이약함. 조직보다프리랜서활동이더어울림. 인정이많은친절한사람이지만때론쓸데없이참견한다는평을듣기도함 </div> elseif bloodtype="o" then <hr width="100%" style="color:#000000;width:100%;"/> <div align="center"><b>o 형 </b></div> <div> 인간미가있고행동은목적지향적. 정열적. 로맨티스트여서항상꿈을같고사는듯하지만막상돌발적인상황에서는놀랄만큼현실적인자세를보여줌 </div> elseif bloodtype="ab" then <hr width="100%" style="color:#000000;width:100%;"/> <div align="center"><b>ab 형 </b></div> <div> 어떤일이라도요령있게적응하며, 매사객관적으로판단해합리적인행동을하기때문에실수가적은편. 우유부단함. </div> end if <wml:do type="vnd.up" label=" 상위 "><wml:go href="index.asp?su==su&sm==sm&scpid==scpid&dcmf_pid= =DCMF_PID"/></wml:do> </body> </html> http://155.230.105.167/mobile/asp/bloodtype 의 WML2 bloodtype_result.asp 코드
10-3. 기타시뮬레이터의실행화면 그밖에 UP.WML 을지원하는 UP 시뮬레이터와 KTF KUN 브라우저의실행화면은다음과같다. UP 시뮬레이터로확인한결과. UP 시뮬레이터한글설정 : Setting / Device Settings 메뉴의 Language, Charset 수정
11 - KTF KUN 2.1 브라우저로확인한결과. KTF KUN 브라우저 (2003 년 7 월배포판 ) 로확인한결과. ( 초기화면의옵션설정에서프락시를제거해야함.)