永发信息网

java的socket通信检查掉线问题

答案:3  悬赏:70  手机版
解决时间 2021-04-05 06:57
最近写了一个使用socket进行通信的android小程序,服务器端使用了简单的java application程序,遇到一个问题,就是当手机端的网络断掉之后,android和服务器的socket都掉线了,但是两边的程序却都处在read方法的阻塞中,并没有抛出异常,经过测试发现,在android端在掉线之后使用socket输出流的write方法(这里使用了持续发送心跳包的方法)会抛出异常,从而可以检测掉掉线,苦逼的是服务器端在掉线之后也是用write方法却始终不抛出异常,不知道哪位大神有什么好方法没,求教!!!!!!!!!!
最佳答案
socket 的 setSoTimeout 设置超时时间 单位是毫秒。超过设置时间抛出SocketTimeoutException 异常。
捕获SocketTimeoutException异常关闭连接就行了。
全部回答
需要做一个socket通信程序,服务器端为vc做的,我需要用java做个客户端,对方要求的通信格式如下: 消息头: 第1~4字节 用字节数表示的消息头的长度 第5~8字节 用字节数表示的消息内容长度 第9字节 服务类型:1为响应,2为请求 第10~11字节 源系统代号 第12~13字节 目的系统代号 消息内容: xml格式 小弟之前没有做过这样的程序,实在是一点头绪都没有,那位高手能给点提示 java应该如何组装消息 采用那种方式发送给服务器端 先谢谢啦! 回复人:sureyor() ( 五级(中级)) 信誉:100 2007-7-13 10:38:53 得分:30 ? 第一步 充分理解socket    1.什么是socket    所谓socket通常也称作"套接字",用于描述ip地址和端口,是一个通信链的句柄。应用程序通常通过"套接字"向网络发出请求或者应答网络请求。   以j2sdk-1.3为例,socket和serversocket类库位于java.net包中。serversocket用于服务器端,socket 是建立网络连接时使用的。在连接成功时,应用程序两端都会产生一个socket实例,操作这个实例,完成所需的会话。对于一个网络连接来说,套接字是平等的,并没有差别,不因为在服务器端或在客户端而产生不同级别。不管是socket还是serversocket它们的工作都是通过socketimpl类及其子类完成的。    重要的socket api:    java.net.socket继承于java.lang.object,有八个构造器,其方法并不多,下面介绍使用最频繁的三个方法,其它方法大家可以见jdk-1.3文档。    . accept方法用于产生"阻塞",直到接受到一个连接,并且返回一个客户端的socket对象实例。"阻塞"是一个术语,它使程序运行暂时"停留"在这个地方,直到一个会话产生,然后程序继续;通常"阻塞"是由循环产生的。    . getinputstream方法获得网络连接输入,同时返回一个iutputstream对象实例,。    . getoutputstream方法连接的另一端将得到输入,同时返回一个outputstream对象实例。    注意:其中getinputstream和getoutputstream方法均会产生一个ioexception,它必须被捕获,因为它们返回的流对象,通常都会被另一个流对象使用。    2.如何开发一个server-client模型的程序    开发原理:    服务器,使用serversocket监听指定的端口,端口可以随意指定(由于1024以下的端口通常属于保留端口,在一些操作系统中不可以随意使用,所以建议使用大于1024的端口),等待客户连接请求,客户连接后,会话产生;在完成会话后,关闭连接。    客户端,使用socket对网络上某一个服务器的某一个端口发出连接请求,一旦连接成功,打开会话;会话完成后,关闭socket。客户端不需要指定打开的端口,通常临时的、动态的分配一个1024以上的端口。
用 socket.getLocalSocketAddress().toString().charAt(0)!='/' 如果表达式为true则代表异常掉线。但是对正常下线无效。你仍然需要发送正常下线的消息。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
求全金属狂潮动漫123部(高清的),用迅雷直
冒险岛萌天使麦格纳斯的计划任务
客观评价此人面向,性格,神态如何!!!有大
80吨的地磅多少钱
蜗牛移动属于什么电话卡
求一本小说,男主和女主开始就结婚了。男主和
神州的意思是什么
痰有拉丝是什么致病菌
单选题关于玉米的个体发育叙述正确的是A.其萌
制造某承受中载及冲击载荷的传动齿轮,应优先
幼儿园中班诗歌家教案,中班语言(诗歌)教案∶
oppo A121手机用蓝牙给诺基亚手机N82发送照片
一个刚识的女生把伞借给我,我该怎么感谢她
去震泽汽车几点有
新疆艺术学院音乐系好考吗?
推荐资讯
男人三十岁生日寄语,三十岁生日的感言,男人
我遇到鬼了,为什么我在镜子里面看到的自己不
九牧指定专营店(漳浦县旧镇中心卫生院西北)怎
得胜天韵PC K200的电容麦怎么样?
欧舒丹甜蜜樱花沐浴啫喱,是泡澡的吗
求《K》2018新剧场版本的百度云资源,谢谢
鸣人哪一集和九尾和好,鸣人解封九尾是哪一集
181. In the hospital, there are a lot of .
求一个感动人的小故事 300字左右
空调清洁剂有毒吗,液晶屏幕清洁剂的功能作用
一只羊被拴在一根5m长的绳子上,另一头系在一
i am so disappointed 中文是什么意思
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?