Androin学习笔记四十四:android下socket编程问题:服务器关闭时,客户端发送请求的异常处理
来源:互联网 发布:c语言编写哥德巴赫猜想 编辑:程序博客网 时间:2024/05/19 20:46
出处:http://gundumw100.iteye.com/blog/1117694
我用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 InetSocketAddress(HOST,PORT);
- socket.connect(isa,TIMEOUT);
- }
- catch(IOException e)
- {
- e.printStackTrace();
- }
- finnally
- {
- this.disconnectToServer();
- }
- ///disconnect to server
- try
- {
- if(socket != null)
- {
- socket.close();
- }
- catch(IOException e)
- {
- e.printStackTrace();
- }
- }
之前链接socket直接用:
Socket socket = new Socket("10.13.81.26",5000);
socket.setTimeout(100);
这样,如果出现服务器端未开启时,即使设置了100ms超时时间,也会过很长时间才会捕捉到IOException
现在先定义isa,通过isa跟socket链接 可以解决上面的问题
0 0
- Androin学习笔记四十四:android下socket编程问题:服务器关闭时,客户端发送请求的异常处理
- android下socket编程问题:服务器关闭时,客户端发送请求的异常处理
- android下socket编程问题:服务器关闭时,客户端发送请求的异常处理
- Android学习笔记:Android向服务器发送请求时的中文乱码问题
- Android学习笔记:Android向服务器发送请求时的中文乱码问题
- Lunix网络编程之socket(客户端发送请求,服务器处理例如:排序,两人联机五子棋)
- Androin学习笔记三十九:Android 中文乱码问题
- Socket编程服务器不能打印客户端发送的消息
- Androin学习笔记四十五:Android画图Path的使用
- Androin学习笔记四十九:android文件管理器的源码实现
- 关于客户端向服务器发送请求的加密问题
- Android向服务器发送请求时的中文乱码问题
- 关于.net socket编程中客户端关闭的问题
- Android下的socket关闭问题
- Androin学习笔记四十二:Java android Socket通信检测(server)连接是否断开
- unix网络编程---服务器和客户端上的异常处理
- Android的事件处理-android学习之旅(四十四)
- [Socket]利用Android下的HttpClient发送GET && POST请求
- iOS设置App的名称和简单的版本国际化与本地化
- postgres9.5 若干新特性和autovacuum参数解释
- 读书笔记 || C#入门经典
- java redis相关操作类
- java的同步机制synchronized
- Androin学习笔记四十四:android下socket编程问题:服务器关闭时,客户端发送请求的异常处理
- Android studio 打包混淆
- git将其他分支覆盖为master分支
- java多线程
- 蓝桥杯-找素数【筛选法】
- 安装python package的经验和常用命令
- 第十三周实践项目课后————交通工具类(2)
- Beyond Compare文本比较搜索功能介绍
- LaTeX 的使用 —— 参考文献