程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> J2ME >> J2ME應用設計指南——多網絡連接

J2ME應用設計指南——多網絡連接

編輯:J2ME

有些設備並不允許同時打開多個網絡連接,但是有的時候我們的應用程序可能需要同時打開多個連接。這樣可以提高效率或者用戶體驗,但是應用程序應該盡量避免依賴多連接這一特性,因為對於不支持多個連接的設備你的程序可能會崩潰。

解決這一問題的辦法是在JAD文件中標記出設備能夠同時打開的連接數量。

那麼如何能夠得到設備支持的最大的連接數的,首先你可以去參考設備的規范。比如Motorola的設備規范中一般都列出了能夠支持的連接類型,比如HTTP Socket等。以及設備能夠同時打開的最大連接數。對於在規范中沒有說明的那麼我們只能編寫一個測試用的MIDlet,先測試出這個特性。然後把他寫到JAD文件中供以後使用。

例如下面的JAD文件中就標記了最大連接的數量。

MIDlet-1: Foo, , FooMIDlet-Jar-Size: 7063MIDlet-Jar-URL: foo.jarMIDlet-Name: FooMIDlet-Vendor: Yoyodyne Inc.MIDlet-Version: 1.0MicroEdition-Configuration: CLDC-1.1MicroEdition-Profile: MIDP-2.0Device-Max-Connection: 3 

在應用程序初始化的時候可以讀取這個數量,注意這個數量應該存儲為全局變量,
這樣方便在人的地方訪問。初始化的工作如下,
    /* Initialization code */
    String deviceMaxConnectionString = getAppProperty
("Device-Max-Connection");
    int deviceMaxConnection = Integer.parseInt
(deviceMaxConnectionString);
    int openConnection = 0;

同時創建多個網路連接,如下:
    if (openConnection < deviceMaxConnection) {
        HttpConnection connection = (HttpConnection) Connector.open
(uri);
        openConnection++;
    } else {
        // Fail to create connection.
    }
 
關閉網絡連接
connection.close(); openConnection--;
計算連接的數量,
    int connection = 0;
    try {
       while (true) {
          Connector.open("http://tools.IEtf.org/Html/rfc262"
+ connection);
       }
    } catch (Exception e) {
       // Max number reached here
    }
 
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved