Java ME应用设计指南之多网络连接

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

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

时间: 2024-08-04 13:33:40

Java ME应用设计指南之多网络连接的相关文章

Java ME应用设计指南之联网重定向

HTTP 1.1协议允许Web服务器临时改变资源的位置,也就是说你访问的资源在另外一个地址.这时候服务器返回的响应代码是302,而新的地址存放在Header中,Header的名称是Location.正常情况下,客户端浏览器应该指向临时的访问地址.但是,移动终端设备差距很大,在处理302返回码的时候,设备之间的行为差异很大. 下面的代码可以用来处理重定向问题,但是在部分设备中会导致应用程序出错. Connection c = (HttpConnection) Connector.open(uri)

Google公开了云服务API设计指南

Google公开了用于创建HTTP或RPC API的API设计指南.对于创建连接Google Cloud Endpoints的gRPC API的开发人员来说,这些设计原则更值得推荐使用. 早在2014年,Google在创建云服务API或其它服务API时就开始在内部使用了这些设计指南.指南中探讨了HTTP或RPC API的设计.虽然HTTP API(也称为REST API)的优点是公认的,但是它们距离实用尚有时日.Google推荐RPC尤其是其变体gRPC.据Google说,虽然大部分的因特网AP

交互设计指南:信息可及

 可及,通俗的说是"可以达到",加上主语和宾语,在"交互设计"这个大的语境下,含义应该是"用户可以达到自己的操作目标",这不是和"有效性-用户的操作是有效的"重复了吗?其实,在交互设计实用指南中,"可及"是一个狭义的概念,是放在有效性下面的,具体解释为"色盲.肢体残疾等特殊人士可以完成基本操作".更扩展一下,这个特殊人群应该还包括老人儿童,文盲等对信息使用不擅长的人.       也就是

超详的GOOGLE GLASS界面设计指南

 开发指南"> 编者按:这篇文章绝对值得收藏,Google Glass界面设计指南由用户界面.设计原则.设计模式和视觉风格4方面组成,说是一篇手把手的设计教程也不为过,特别是百度同学的专业翻译,保证了文章质量的原汁原味.向未来看齐的设计师们感受一下吧! 一.用户界面 本章将介绍Glass的主要UI组件.它们的使用场景,以及用户如何与它们进行交互操作. 1.1 时间轴概念是 Glass 用户体验的主体 Google Glass的主要用户界面是由分辨率为640x360px的卡片组成的时间轴.它

数据库设计指南之我见

网上流传着一份关于数据库设计的文档<数据库设计指南>收集了几十个数据库设计大牛在项目中总结出来的Best Practice最佳实践,我最近也花了点时间细读并结合自身实际进行了总结,感觉自己在项目中还是有不少不足的地方,下面逐条分析下.(黑字为原文,红字为我的见解) 数据库设计指南 如果把企业的数据比做生命所必需的血液,那么数据库的设计就是应用中最重要的一部分.有关数据 库设计的材料汗牛充栋,大学学位课程里也有专门的讲述.不过,就如我们反复强调的那样,再好的 老师也比不过经验的教诲.所以我们最近

《JAVA多线程编程实战指南》之Two-phase Termination(两阶段终止)模式

本文是<JAVA多线程编程实战指南>的样章,感谢作者授权并发网(ifeve.com)发表此文.感谢demochen整理此文. 5.1Two-phase Termination模式简介 停止线程是一个目标简单而实现却不那么简单的任务.首先,Java没有提供直接的API用于停止线程.此外,停止线程还有一些额外的细节需要考虑,如停止的线程处于阻塞(如等待锁)或者等待状态(等待其他线程),尚有未处理完的任务等. Two-phase Termination模式通过将停止线程这个动作分解为准备阶段和执行阶

Java 并发工具包 java.util.concurrent 用户指南

译序 本指南根据 Jakob Jenkov 最新博客翻译,请随时关注博客更新:http://tutorials.jenkov.com/java-util-concurrent/index.html. 本指南已做成中英文对照阅读版的 pdf 文档,有兴趣的朋友可以去 Java并发工具包java.util.concurrent用户指南中英文对照阅读版.pdf[带书签] 进行下载. 1. java.util.concurrent - Java 并发工具包 Java 5 添加了一个新的包到 Java 平

《怦然心动——情感化交互设计指南(修订版)》一导读

开场白 怦然心动--情感化交互设计指南(修订版)本书的内容首先是关于人类行为的原则:人们做事的动机,对事物的感受以及如何作出特定的选择. 但这并非是本书的全部内容. 如果尝试去理解人类行为是本书唯一的目标,那我早就搁笔不写了,我会向你推荐其他与此课题相关的更多更好的书籍. 过去十年来,我一直致力于网上的用户体验设计.我怀疑每位进入用户体验行业的人都是从某个已有的成形的学科转过来的,比如图书馆学.视觉传达设计.计算机科学或教育学. 在互联网的泡沫时代终结之前,我以一家技术型创业公司的网页设计师和平

动车上的书摘-java网络 连接服务器

一.服务器初试-telnet工具     当我们编写网络程序时,我们应该认识telnet的小工具(unix 和 win 自带).Telnet协议是TCP/IP协议族中的一员,是Internet远程登陆服务的标准协议和主要方式.它为用户提供了在本地计算机上完成远程主机工作的能力.win自带的telnet要去开启,开启的步骤如下:                                   注意:第一:打开控制面板,打开程序和功能,看到左边有个"打开或关闭Windows功能 ,打开找到tel