岁月联盟 · 中国技术网 本站主页 | 安全认证 | 用户服务 | 技术论坛
新闻快报 | 新手学堂 | 黑客特区 | 程序语言 | 数 据 库 | 防 火 墙 | 路由交换 | 系统集成 | 服 务 器 | 存储备份 | 考试认证
Windows | Linux | Java | 协议分析 | 问题解答 | 进程大全 | 网页设计 | 多 媒 体 | 图库资料 | 软件下载 | 站内下载
  您现在的位置: 岁月联盟 >> Java >> J2ME >> 核心技术 >> Java正文
Java ME应用设计指南之多网络连接
作者:未知 文章来源:本站整理 点击数: 更新时间:2007-7-22 22:32:43

    有些设备并不允许同时打开多个网络连接,但是有的时候我们的应用程序可能需要同时打开多个连接。这样可以提高效率或者用户体验,但是应用程序应该尽量避免依赖多连接这一特性,因为对于不支持多个连接的设备你的程序可能会崩溃。

解决这一问题的办法是在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
    }


  • 上一个Java:
  • 下一个Java:
  •  
    热门文章
    推荐文章
    关于我们 | 发展历程 | 网站地图 | 广告服务 | 招贤纳士 | 战略合作 | 友情链接 | 著作声明 | 联系我们
    Copyright © 2002-2007 SYUE All rights reserved.
    E_mail:Admin@Syue.Com 皖ICP备05004589号
    未经授权禁止转载、摘编、复制或建立镜像.如有违反,追究法律责任.
    传世私服 传奇世界私服 天龙八部私服 bet365 传世私服 天龙八部私服 热血江湖私服 英雄合击传奇私服 热血江湖私服 bet365 bet365