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