我在J2ME中使用Connector
并发现有时需要很长时间才能发送请求,有时它可能会停止整个过程。
所以我尝试将与Connector
相关的代码放在一个线程中,并尝试将超时设置为该线程。但我发现在J2ME中执行此操作非常困难,因为J2ME中没有join(timeout)
。
有没有办法做到这一点?或者在J2ME中处理网络连接的更好方法是什么?
非常感谢。
答案 0 :(得分:4)
您应该使用3种机制的组合:
Connector.open()
可以与第三个参数一起用于超时。Thread.sleep()
不同的帖子致电Connection.close()
和Connector.open()
。Thread.sleep()
不同的帖子致电Thread.interrupt()
和Connector.open()
。在一些执行不当的MIDP运行时,如果连接繁忙,Connection.close()
可以阻止。您需要在计划支持的手机上彻底测试。
Thread.interrupt()
可以使MIDP运行时(以及底层手机操作系统)具有孤立资源,因此只能将其用作最后的手段。