j2ee与j2me通信

<1>MIDP支持Http1.1 协议, 使用Get 和 Post与网络进行通信,产生Http报头和数据, 为了使报文清晰,在http请求是应包含content-type属性

 

<2>:j2ee与j2me连接原理

 

       j2ee与j2me通信框架

 

 

解释: 

 

     在客户端,用户的手机需要与Internet进行连接,可以采用GPRS、Wi-fi或者3G网络等方式,用户只需下载(如使用OTA技术)客户端MIDlet程序,安装到手机上就可以与服务器进行连接并发出访问请求;Web服务器使用Servlet容器来处理客户端的连接和请求,然后再将这些请求发送到企业级服务器上,企业级服务器使用EJB进行会话,处理请求,并通过JDBC连接到数据库系统上;数据库系统根据SQL查询语句,将生成的查询结果数据集发送回企业级服务器;企业级服务器把接收到的信息提交给Web服务器,Web服务器再通过HTTP将信息返回给客户端;最后,客户端MIDlet将查询结果显示在用户的手机屏幕上。所有的访问并不直接访问后台的应用资源和数据资源,而是通过中间层进行访问,这样既可以保证后台数据的安全性,又可以通过中间层的调度保证系统性能和事务的一致性。

 

 

 

<3>:  j2me联网的两种方法  (1) cmnet   (2): cmwap  : 

 

          (1) cmnet跟电脑上联网没什么区别,  用如下代码就OK了

 

          try { 
                http = (HttpConnection) Connector.open(url); 
          } catch (IOException e) { 
          
              e.printStackTrace(); 
          } 

 

       (2) cmwap联网: 

 

      对于一些机型,直接连网会联不上,  这是因为你的机子不支持cmnet联网方式

 

      也许你会发现不经过修改,直接连接的方式也可以在一些cmwap的设备上(只支持cmwap的手机多为低端手机) 也可以运行,

      这是因为在底层进行了一些转换. 如果没有转换的话,你必须要经过手动转换.

 

      假设你原来要请求的页面是:htpp://www.testwap.com/test/try.jsp
      那么你会用这句话连接
     HttpConnection httpConnection = (HttpConnection)Connector.open(“http://www.testwap.com/test/try.jsp”);
 
     但是为了转成CNWAP的联网形式 你必须这么写
            HttpConnection httpConnection = (HttpConnection)Connector.open(“http://10.0.0.172:80/test/try.jsp”);
   接着再写
      httpConnection.setRequestProperty("X-Online-Hostwww.testwap.com");
      httpConnection.setRequestProperty("Accept","*/*");
这样就ok了

 

 

 分析有以下几种可能。
1.移动那边可能对于CNNET来说,几乎是对所有的协议进行开放。比如(Socket,Http)跟所有端口。
2.对于CNWAP,我估计只开放http协议以及80端口,其他的都封闭,也就是CNWAP只能访问http协议。
   由于我测试的IP地址进行测试,所以它可以直接找到。对于非IP地址我没测试果。也许CNWAP不能解释域名也说不定,这点我就不清楚了。

 

 

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值