首  页 | 资讯中心 | 网络学院 | 天新汽车 | 天新手机 | 天新游戏 | 软件开发 | 考试认证
品 牌 机 | 笔 记 本 | 服 务 器 | 天新数码 - DC - DV - MP3 - MP4 - GPS - TV | 数字家庭
硬件 DIY - 主板 - CPU - 内 存 - 硬 盘 - 显示器 - 显卡 - 光驱 - 机箱 - 键鼠 - 网络设备
办公设备 | 打 印 机 | 扫 描 仪 | 投 影 仪 | 一 体 机 | 传 真 机 | 路 由 器 | 交 换 机
软件下载 | 驱动下载 | 游戏下载 | 源码下载 | 教程下载 | 站长在线 | 产品中心 | 报价中心
开发首页 | 开发语言 | .Net开发 | Java开发 | Web开发 | 数据库开发 | 移动开发 | 游戏开发 | 企业开发 | 操作系统 | 软件工程
VB VC Delphi PB BCB C++ - ASP.net C# VB.net - J2EE J2SE J2ME EJB - ASP PHP JSP CGI - MSSQL Oracle DB2 MySQL - CodingLife
  Java开发首页 | Java基础 | Java高级编程 | J2EE | J2SE | EJB | J2ME | Servlet/JSP | Applet/Swing | Struts/Hibernate
  您现在的位置:天新网 > 软件开发 > Java开发 > J2ME > J2ME文摘
J2ME中多线程网络连接编程的分析
http://dev.21tx.com 2006年06月28日 计算机与信息技术 梁旗军 李佳凯 樊鑫

每日文章精萃
.Net:创建数据库Web Services Java:实现 Java 平台的三种方式
ASP:股票报价的WebService之五 PHP:用在PHP里的JS打印函数
JSP:jsp计数器制作手册(2) CGI:Perl语言的文字处理模式之三
VB:VB中资源文件的具体使用方法 VC:利用函数getglyphoutline函数得到字

1 2 下一页


  摘 要 介绍并分析了J2ME的通用网络连接框架(GCF),并以此为基础,指出了在J2ME网络连接编程中存在的问题,并提出了通过构建多线程的两种解决方法。

  关键词 J2ME GCF多线程 网络连接

  引言
 
  J2ME(Java 2 Micro Edition)是Java 2的一个组成部分,它与J2SEJ2EE并称。J2ME是一种高度优化的Java运行环境,主要针对消费类电子设备的,例如蜂窝电话、可视电话、数字机顶盒和汽车导航系统等等。即J2ME是为消费电子产品和手持设备量身定制的Java专用版本。
J2ME的出现使开发跨平台的消费类电子产品的应用软件成为可能。Java语言的与平台无关的特性移植到小型电子设备上,允许移动无线设备之间共享应用程序。它提供了基于HTTP的高级Internet协议,使移动电话能以Client/Server方式直接访问Internet的全部信息,从而使得不同的Client访问不同的资源。

  在将来的无线通信时代中,大量的网络应用程序将被开发出来去满足无线移动通讯的要求,而要充分的发挥无线移动通讯设备的通信能力,J2ME网络编程就变得尤为重要。那么为了高效地进行网络编程,就要利用Java语言的多线程编程机制。

  1、J2ME的网络连接框架(GCF)

  通用连接框架(Generic Connection Framework,GCF)为资源有限的设备提供了一个可扩展的、通用的I/O 框架。GCF 是一组在 javax.microedition.io 包中定义的接口。图 1 显示了 GCF 的类层次结构。


图1 GCF 的类层次结构

  在 GCF 中共定义了七个接口 ,其中 Connection 是最基本的连接类型。且同时提供了对数据包和流连接的支持。沿着层次结构向下派生出提供更多功能的接口。例如, StreamConnection 接口支持输入流和输出流, ContentConnection接口又扩展了 StreamConnection 接口以支持对流的内容类型、数据长度和编码格式的确定,HttpConnection接口又扩展了ContentConnection接口以支持对于标准的HTTP请求。如在框架层规定的适用于手机或双向寻呼机的移动信息设备框架MIDP(Mobile Information Device Profile)在其MIDP 1.0 规范只要求设备支持 HTTP 连接协议,而更新的 MIDP 2.0 规范要求同时支持 HTTP 和 HTTPS,后者提供了对更安全的网络连接的支持。

  2、网络编程中的多线程

  由于目标设备具有内存小,计算能力弱和电池供电等特点,所以如何使应用程序高效的运行就成为开发中的一个大问题.尤其针对手机等移动信息设备时,无线通讯的特点又对我们的程序提出了更高的要求.从代码优化的角度,在网络编程中引入多线程就显得十分重要。

  当程序运行的时候,Application Management Software(应用管理软件)首先初始化一个MIDlet,然后调用它的startApp()方法使得MIDlet进入active状态,这条程序分支就是主线程,它执行其他的方法后都会返回到这个分支上来继续执行。然而网络连接是个可能堵塞的操作,意味着它可能长时间都不返回。

  在SUN公司的无线开发包WTK中模拟一段网络连接程序运行时,WTK会提示网络连接工作可能会堵塞用户输入,需要创建另外一个线程去进行联网操作。针对以上情况,引入多线程的处理机制。

  2.1 利用Thread类与Runnable接口

  编写J2ME网络连接应用程序的时候往往借助Command显示部件,调用其事件处理函数完成网络的连接工作,代码框架如下:

public void commandAction(Command c, Displayable s) {
 if(c==sendCommand){
  requestConnect();//连接方法
 }
 else if(
  c==backCommand){
   display.setCurrent(mainForm); }
 else{
  destroyApp(false);
  notifyDestroyed(); }
}
// 获取一个HTTP的连接
private void requestConnect() {
 String url= URL.URLString
 HttpConnection hpc = null;
 try{
  hpc = (HttpConnection)Connector.open(url);
  int status = hpc.getResponseCode();
  if(status != HttpConnection.HTTP_OK)
   content = "联机失败!";
  else
   content = "已联机!";
 }
 catch(IOException e){System.out.println(content);}
 try{
  if(hpc != null) hpc.close();
 }
 catch(IOException e2){}}

  上面的程序工作原理可用图2的工作原理图a来表示。


图2 工作原理图a

  分析图2可以得出,如果这样的网络连接程序在手机上运行,那么将可能长时间得不到响应。因为连接工作只有一个主线程,所有的应用都是在这个主线程当中进行的,如果此主线程不返回,那么就不能进行后面的行为,用户也不能进行任何操作。

上一篇: 超强混淆器ProGuard之终极心决
下一篇: KJava在移动设备中的应用

1 2 下一页

编辑推荐
相关内容
·J2ME网络编程以及网络游戏的实现
·在J2ME/MIDP中实现图像旋转
·J2ME中使用Canvas制作简单的游戏菜单
·J2ME中多线程网络连接编程的分析
·2004开发技术年度综述之移动开发
·手机游戏趋势和相关J2ME APIs
·超强混淆器ProGuard之终极心决
·KJava在移动设备中的应用
·Java嵌入式开发
·J2ME中使用缓存将屏幕内容存储为Image
·J2ME内存占用详解及优化方法
·J2ME游戏开发的高级优化技巧
·用J2ME开发企业级无线应用
·J2ME中用低级界面实现简单的数字输入
·J2ME中用Timer和TimerTask实现欢迎界面
·J2ME平台手机游戏移植的体会
·利用J2ME开发移动3D游戏之3D图形API
·NetBeans 4.0创建J2ME手机RSS阅读器
·J2ME游戏开心药丸开发全程展示
最近更新
人气最热
·2004开发技术年度综述之移动开发
·手机游戏趋势和相关J2ME APIs
·超强混淆器ProGuard之终极心决
·KJava在移动设备中的应用
·Java嵌入式开发
·手机游戏趋势和相关J2ME APIs
·Java嵌入式开发
·KJava在移动设备中的应用
·超强混淆器ProGuard之终极心决
·2004开发技术年度综述之移动开发

 
·[硬件]把Audigy2系列声卡硬改造成Audigy2 ZS
·[数码]挡不住的运动风情 达音科E10耳塞初体验
·[汽车]北京七天长假车险电话过万
·[开发]控件移动类的实现之二
·[资讯]IT双雄:微软在改变 英特尔进入蚁群时
·[游戏]世纪嘉硕网苑开业典礼暨CS大赛
·[本本]和“她”亲密接触 谈谈笔记本触摸板
·[办公]Lighthouse携LED视频显示屏参展BIRTV
·[手机]UT斯达康手机专区
·[考试]港大内地录取名单公布 安徽省文科状元
·[学院]更改IE下载文件后的默认处理方法
·[娱乐]快乐崇拜
 

关于我们 | 联系我们 | 广告服务 | 工作机会 | 版权声明 | 欢迎投稿 | 网站地图
Copyright © 2000-2008 , www.21tx.com , All Rights Reserved .
© 晨新科技 版权所有 Created by TXSite.net