日期:2014-05-20  浏览次数:20622 次

socket连接的问题, 大家进来看看!
我的程序启动后会用
Connector.open( "socket:// "+servername+ ": "+Integer.toString(port))
连接服务器,并且另起一个线程绘制等待连接的画面(帧循环模式),问题来了!
如果服务器是关闭的,这时候整个程序被open方法阻塞,所有的线程都被阻塞,直至open方法返回。
我是在wtk22的模拟器上运行的。
大家碰到这样的情况么?大家都是怎么解决的?

------解决方案--------------------
//Connector.open(String name,int mode,boolean timeout)
用带超时判断的方法
Connector.open( "socket:// "+servername+ ": "+port,Connector.READ_WRITE,true);


ps:遇到问题先看看文档
------解决方案--------------------
先感谢你的回答, 可能是我没说清楚。
我的问题不是判断超时,而是在open方法的调用过程中,整个程序是阻塞的,所以我的绘制线程也被阻塞从而无法绘制进度条。
------解决方案--------------------
主线程控制绘图,联网线程来做socket链接

线程的轮询是KVM控制的
------解决方案--------------------
使用nio
------解决方案--------------------
分2个线程绘制,如果你的程序还是出现绘制不出图形的情况,那么需要看一下你的code是怎么写的