首 页文档资料下载资料维修视频包年699元
请登录  |  免费注册
当前位置:精通维修下载 > 文档资料 > 家电技术 > 维修教程知识 > 单片机栏
基于Windows Mobile的无线通信系统的研究与实现
来源:本站整理  作者:佚名  2009-06-18 14:50:32




    其次,由于沿用了微软Windows操作系统的界面,界面和操作都和电脑上的Windows十分接近,对于使用者来说十分熟悉又上手。
    第三,针对中国用户而言,中文操作系统已经比较成熟。目前,多普达、摩托罗拉、三星等都已经生产了针对该系统的智能手机,并且从市场的发展趋势来看,基于Windows Mobile操作系统的智能手机将是主流。
    因此,在本次系统的设计中,智能手机终端采用了Windows Mobile操作系统。
3.2  Java在Windows Mobile中的应用
    Java语言分为三个版本:J2SE,J2EE,J2ME。其中J2ME版本是适用于智能无线设备和小型计算设备的J2SE的简化版,它能够适应这些设备微型、移动和无线的特点。
    对于安装了Windows Mobile操作系统的智能手机来说,根据不同品牌、不同型号的智能手机来看,在运行Java程序上也有所不同。对于不直接支持Java的智能手机来说,就需要借助第三方的Java虚拟机来运行程序,常见的Java虚拟机有JMM和DMIDP2等。而对于支持Java扩展的智能手机来说,只要将编写好的J2ME程序打包后,就能在手机上运行。本设计选择的智能手机是多普达S1,它本身是支持Java的,因此不需要另外寻找Java虚拟机来运行J2ME程序,只需要下载一个RESCO资源管理器,然后将要运行的程序对应的工程(包括jad文件)进行打包,下载至智能手机中。最后打开RESCO资源管理器,找到所要运行的Java程序,点击其中的jar文件就可以运行了。
4  系统的具体实现
4.1  服务器端程序的实现
    由于服务器端需要接受和处理的数据量较大,并且是运行在计算机上的,所以,服务器端的程序是用J2EE编写的。
    智能手机是通过设置专线APN来连接服务器的,服务器通过继承Thread类创建线程ServerImpl实现其功能,并通过生成固定端口的服务器Socket来接收终端的请求,实时侦听,对来自于终端的数据进行相应处理,完成任务后,用close()关闭套接字,最后关闭服务器退出。
    服务器的初始化程序为:         
private  void initServer(){
try{
receiveMessages=new Vector();
//创建存放接收消息数组对象
sendMessages=new Vector();
//创建存放发送消息数组对象
sender=new SendImpl(); //生成SendImpl类的对象
receiver=new ReceiveImpl();
//生成ReceiveImpl类的对象
listener=new ListenImpl();                            
  clients=new Vector();
serverSocket=new ServerSocket(8000);  
//生成服务器端口
listener.setListenSocket(clients);
//实现对客户端的侦听
listener.setServerSocket(serverSocket);
//设置服务器套接字
sender.setSockets(clients);                              
receiver.setSockets(clients);
sender.setMessages(sendMessages);
receiver.setMessages(receiveMessages);
//设置消息对象
}catch(BindException b){                                
     System.out.println("Server 已经启动");
         System.exit(0);//结束程序
     }
}      
4.2  客户端的程序实现
    在创建J2ME程序之前,首先要对J2ME进行配置。针对智能手机的特点,应当选择的是CLDC(连接有限设备)和MIDP1.0的配置。
4.2.1 连接程序的实现
    程序的主题部分中,与服务器的连接过程是关键。程序代码如下:
private boolean connect() {
try {
System.out.println("连接到服务器");
connect=(SocketConnection)Connector.open("socket://localhost:8000");
//与服务器建立连接
 System.out.println("此终端的地址为:"+adrthis);
      in = connect.openInputStream();
//输入数据
      out = connect.openOutputStream();
//输出数据
      return true;
     } catch (Exception e) { 
//抛出异常

上一页  [1] [2] [3] 

关键词:

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分)

推荐阅读

图文阅读

热门阅读

Copyright © 2007-2017 down.gzweix.Com. All Rights Reserved .
页面执行时间:85,765.63000 毫秒