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

Java ME應用設計指南之多網絡連接

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

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

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

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

MIDlet-1: Foo, , Foo
MIDlet-Jar-Size: 7063
MIDlet-Jar-URL: foo.jar
MIDlet-Name: Foo
MIDlet-Vendor: Yoyodyne Inc.
MIDlet-Version: 1.0
MicroEdition-Configuration: CLDC-1.1
MicroEdition-Profile: MIDP-2.0
Device-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