android java socket断线重连
thread = new Thread(new Runnable()
{
@Override
public void run()
{
while (true){
boolean close = isServerClose(socket);//判断是否断开
if(close){//没有断开,开始读数据;
try
{
Log.d(TAG, "ZYF ip"+getIp());
socket = new Socket(getIp(),10801); //创建Socket实例,并绑定连接远端IP地址和端口
Log.d(TAG,"ZYF SOCKET 创建成功!");
Message msg = new Message();
msg.what = TOAST_TRUE;
handler.sendMessage(msg);
SocketReceiveImgAndVideoFromServer();
}
catch (IOException e)
{
Message msg = new Message();
msg.what = TOAST_FAILE;
handler.sendMessage(msg);
e.printStackTrace();
}
try {
Thread.sleep(5000);//五秒判断一次
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}

Looper.prepare();
Looper.loop();// 进入loop中的循环,查看消息队列
千万别乱用这个,这个能让线程堵塞!!!!!!!!!!!!!!!
本文介绍了一种在Android Java中实现Socket断线自动重连的机制。通过一个循环运行的线程检查Socket连接状态,一旦检测到断线,将尝试重新建立连接,并在连接成功后恢复数据读取。此机制对于保持稳定的数据传输至关重要。

被折叠的 条评论
为什么被折叠?



