本文并非本人原創(chuàng),文中紅色字體為我新加,原文出處http://blog.donews.com/sevenworld/archive/2005/10/17/591911.aspx
如何設(shè)置S60模擬器的網(wǎng)絡(luò)參數(shù)
在調(diào)試使用Socket進行數(shù)據(jù)通訊的Symbian S60程序過程中,需要編寫客戶端與服務(wù)器的數(shù)據(jù)交互代碼,如果S60的模擬器可以直接訪問網(wǎng)絡(luò)中的服務(wù)器程序,調(diào)試就會非常方便。S60的模擬器提供了這些功能,不過需要對網(wǎng)絡(luò)參數(shù)進行一些設(shè)置,下面將討論這一問題。
首先是網(wǎng)絡(luò)參數(shù)的設(shè)置,在Symbian安裝目錄的..\Epoc32\tools目錄下有一個網(wǎng)絡(luò)參數(shù)設(shè)置程序network_config.bat,對于不同的開發(fā)包,這個名字可能會有一些不同(可以選擇開始菜單下SDK目錄tools下的Ethernet Support Configuration)。執(zhí)行該程序,將顯示參數(shù)設(shè)置界面。其實參數(shù)的設(shè)置和對局域網(wǎng)中的PC設(shè)置一樣,你就把它當(dāng)成是在設(shè)置PC的網(wǎng)絡(luò)配置就可以了。分配一個沒有使用的IP(注意絕對不能與本機IP相同),填寫好子網(wǎng)掩碼,設(shè)置好局域網(wǎng)的網(wǎng)關(guān)。唯一的不同是要選擇所使用的網(wǎng)卡。當(dāng)你點OK關(guān)閉該設(shè)置對話框的時候(或著點那個Adapters按鈕),會顯示一個命令行界面,列出了當(dāng)前機器上可以使用的網(wǎng)卡的信息,你需要輸入一個數(shù)字選擇一個網(wǎng)卡,注意,應(yīng)該選擇你的PC所使用的那個真實的網(wǎng)卡,也就是標(biāo)識你機器在局域網(wǎng)內(nèi)IP地址的那個網(wǎng)卡。
按照官方文檔來說,這樣就可以,但實際上不是所有的機器都可以,我沒有測試過,不知道別人的機器如何,反正我使用的機器不可以。后來我在一本書里看到,還需要運行另外一個程序,才可以達(dá)到我們的目的。這個程序與上面的設(shè)置程序在同一個目錄下,叫做npacketadmin.exe。執(zhí)行它,會顯示一個程序,并跳出一個設(shè)置對話框,首先在下拉列表框里選擇你剛才選定的那個網(wǎng)卡,然后點擊下面的Start按鈕,這樣就可以了。這時你就可以使用模擬器調(diào)試你的Symbian S60通訊程序了。(我實際測試中發(fā)現(xiàn)不用啟動npacketadmin.exe也是可以的)
測試是否連通的方法是,執(zhí)行模擬器中的“網(wǎng)絡(luò)”應(yīng)用程序,然后輸入一個網(wǎng)址,比如www.sina.com.cn,如果設(shè)置正確,將顯示該頁面,注意也許是亂碼,不過不要緊,因為我們只想知道網(wǎng)絡(luò)是否已經(jīng)可用了。(強烈建議使用非中文網(wǎng)站做測試,比如www.google.com)
如果以上的過程中,不啟動npacketadmin.exe就不能連接的用戶,必須注意下面幾個問題:
1.在調(diào)試期間可以關(guān)閉npacketadmin.exe的那個設(shè)置對話框,但是不能關(guān)閉該程序。如果關(guān)閉了,網(wǎng)絡(luò)將不通。
2.如果不小心關(guān)閉了該程序,需要重新啟動,并重新做上面的第二步的操作。
3.應(yīng)該在啟動模擬器之前就啟動該程序,不然模擬器可能會異常退出。
本人剛開始調(diào)試時,犯了以下一些問題:
首先用msconfig工具將S60的Ethernet Packet Service這個服務(wù)停掉了,后來每一次模擬器試圖用Socket連接時都彈出“Error:1058 無法啟動服務(wù)……”的報錯。該錯誤在npacketadmin.exe啟動時也會出現(xiàn)。
其次沒有注意IP的問題,用跟本機同一個IP,結(jié)果怎么連都連不上,后來改成我同事的,害得他一個下午都因為網(wǎng)絡(luò)上有同名IP而半天沒得上網(wǎng)。
另注:最近更換環(huán)境時發(fā)現(xiàn),假如主機是通過自動獲取ip就可以上網(wǎng)的話,不知道模擬器的ip不設(shè),讀者能否實現(xiàn),我本人試過老是出現(xiàn)“網(wǎng)關(guān)無響應(yīng)”提示,所以我覺得原則上還是需要設(shè)置ip的,當(dāng)然前提是主機設(shè)了固定IP也能上網(wǎng),然后模擬器設(shè)置一個不同于主機的ip地址 modify 2008.03.17
posted on 2007-09-25 16:21
frank.sunny 閱讀(2893)
評論(2) 編輯 收藏 引用 所屬分類:
symbian 開發(fā)