问题出现:
在做的一个J2me程序,通过http请求发送数据包,服务器端收到以后返回数据,客户端解析并画出来。
目前由于服务器端收到请求以后,如果没有数据则直接return掉了,所以客户端出现了阻塞问题。
主要问题出现在:httpconnection.getResponseCode()这句。
以下是引用:
<引用开始>
2. 分析
代码是阻塞在http.getResponseCode()这句。此时代码中任何对http的操作都是没用的。因为此时联网
线程的控制权已经不在MIDlet中了,而是交给了底层平台的Native Code,因此你对http的任何操作均
不起作用 。 也就是说,这段阻塞时间我们是没办法控制的。j2me中像
HttpConnection.getResponseCode()之类打开连接的方法是阻塞的,没有异步的办法来关闭这个阻塞
。
</引用结束>
参考了下面这段分析,但是还是有点雾水,不是不知道为什么阻塞,关于解决的办法还没有参透。
具体参考见:
Http线程阻塞分析
http://wayfarer.javaeye.com/blog/455844
J2ME 中处理http连接超时
http://sundyzlh.spaces.live.com/blog/cns!959CEE80F298BEFA!321.entry