android下socket编程问题:服务器关闭时,客户端发送请求的异常处理

在Android中,当服务器程序关闭后,客户端使用Socket发送请求时会出现IOException,且异常出现的延迟较长。为了解决这个问题,可以在创建Socket连接时设置超时,并在发生异常时立即捕获并显示提示,关闭程序。通过InetSocketAddress建立连接可以更快速地检测到服务器是否可用。
摘要由CSDN通过智能技术生成
我用socket分别创建了一个服务器和一个客户端。

当服务器程序运行时,客户端和服务器发送接收数据是OK的。

但是,如果服务器程序关闭以后,客户端仍然发送请求的话,会抛出一个IOException。但这个时间间隔很久,要三到四分钟才会抛出这个异常的。刚开始还以为是死机了呢!

我想在客户端做一个处理:如果服务器未开,要弹出一个提示框,然后结束当前程序。
请问怎么实现?

附创建客户端的部分代码:
Socket socket = new Socket("10.13.81.3",5000);

sendMsg(str);//这个是给服务器发送数据的接口
readMsg();//这个是服务器收到后 立即会发送数据给客户端,由客户端在这里接收数据

我就想在创建socket之后,判断是否connect,没有的话就弹出对话框,但是不成功.

解决方法:

//global variables
public Socket socket = null;
private InetSocketAddress isa = null;
private static final String HOST = "10.13.81.26";
private static final String PORT = 5000;
private static final String TIMEOUT = 100;

///connect to server
try
{
   socket = new Socket();
   isa = new 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值