新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于Windows Mobile的無線通信系統的研究與實現

        基于Windows Mobile的無線通信系統的研究與實現

        作者: 時間:2009-06-18 來源:網絡 收藏

        其次,由于沿用了微軟操作的界面,界面和操作都和電腦上的十分接近,對于使用者來說十分熟悉又上手。
        第三,針對中國用戶而言,中文操作已經比較成熟。目前,多普達、摩托羅拉、三星等都已經生產了針對該,并且從市場的發展趨勢來看, 將是主流。
        因此,在本次系統的設計中,終端采用了Windows
        3.2 Java在Windows 中的應用
        Java語言分為三個版本:J2SE,J2EE,。其中版本是適用于智能無線設備和小型計算設備的J2SE的簡化版,它能夠適應這些設備微型、移動和無線的特點。
        對于安裝了Windows Mobile的智能手機來說,根據不同品牌、不同型號的智能手機來看,在運行Java程序上也有所不同。對于不直接支持Java的智能手機來說,就需要借助第三方的Java虛擬機來運行程序,常見的Java虛擬機有JMM和DMIDP2等。而對于支持Java擴展的智能手機來說,只要將編寫好的程序打包后,就能在手機上運行。本設計選擇的智能手機是多普達S1,它本身是支持Java的,因此不需要另外尋找Java虛擬機來運行J2ME程序,只需要下載一個RESCO資源管理器,然后將要運行的程序對應的工程(包括jad文件)進行打包,下載至智能手機中。最后打開RESCO資源管理器,找到所要運行的Java程序,點擊其中的jar文件就可以運行了。
        4 系統的具體
        4.1 程序的
        由于需要接受和處理的數據量較大,并且是運行在計算機上的,所以,的程序是用J2EE編寫的。
        智能手機是通過設置專線APN來連接服務器的,服務器通過繼承Thread類創建線程ServerImpl其功能,并通過生成固定端口的服務器Socket來接收終端的請求,實時偵聽,對來自于終端的數據進行相應處理,完成任務后,用close()關閉套接字,最后關閉服務器退出。
        服務器的初始化程序為:
        private void initServer(){
        try{
        receiveMessages=new Vector();
        //創建存放接收消息數組對象
        sendMessages=new Vector();
        //創建存放發送消息數組對象
        sender=new SendImpl(); //生成SendImpl類的對象
        receiver=new ReceiveImpl();
        //生成ReceiveImpl類的對象
        listener=new ListenImpl();
        clients=new Vector();
        serverSocket=new ServerSocket(8000);
        //生成服務器端口
        listener.setListenSocket(clients);
        //實現對的偵聽
        listener.setServerSocket(serverSocket);
        //設置服務器套接字
        sender.setSockets(clients);
        receiver.setSockets(clients);
        sender.setMessages(sendMessages);
        receiver.setMessages(receiveMessages);
        //設置消息對象
        }catch(BindException b){
        System.out.println(Server 已經啟動);
        System.exit(0);//結束程序
        }
        }
        4.2 的程序實現
        在創建J2ME程序之前,首先要對J2ME進行配置。針對智能手機的特點,應當選擇的是CLDC(連接有限設備)和MIDP1.0的配置。
        4.2.1 連接程序的實現
        程序的主題部分中,與服務器的連接過程是關鍵。程序代碼如下:
        private boolean connect() {
        try {
        System.out.println(連接到服務器);
        connect=(SocketConnection)Connector.open(socket://localhost:8000);
        //與服務器建立連接
        System.out.println(此終端的地址為:+adrthis);
        in = connect.openInputStream();
        //輸入數據
        out = connect.openOutputStream();
        //輸出數據
        return true;
        } catch (Exception e) {
        //拋出異常
        linux操作系統文章專題:linux操作系統詳解(linux不再難懂)


        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 三河市| 双鸭山市| 油尖旺区| 长治市| 西华县| 习水县| 会昌县| 乌拉特中旗| 布尔津县| 育儿| 昌邑市| 涟源市| 高台县| 霍林郭勒市| 青岛市| 济阳县| 定南县| 南乐县| 商水县| 成武县| 茂名市| 察雅县| 祁东县| 綦江县| 资兴市| 金寨县| 龙岩市| 汾西县| 江达县| 双城市| 新津县| 新河县| 勐海县| 灵石县| 铅山县| 永福县| 琼海市| 天水市| 苏州市| 邓州市| 比如县|