84669 人学习
152542 人学习
20005 人学习
5487 人学习
7821 人学习
359900 人学习
3350 人学习
180660 人学习
48569 人学习
18603 人学习
40936 人学习
1549 人学习
1183 人学习
32909 人学习
1.android 设备在未有设备连接的时候,怎么判断socket是未连接,如果使用API提供的isConnected()的方法会报一个空指针
2.当socket连接的设备突然断开怎么实时获取socket的状态
3在进行socket通信的时候会出现可以发送数据,却收不到数据,如果处理
小伙看你根骨奇佳,潜力无限,来学PHP伐。
你的设备是在开启服务端吗?,如果是,那么ServerSocket.accept()方法是阻塞的,你的判断代码不要写在这个方法成功前就创建好的其他线程内,要与ServerSocket.accept()在同一线程或者在 ServerSocket.accept() 执行后新开的线程内,以保证判断方法也会被阻塞影响。 ——另外判断连接状态用Socket.isClosed()。
ServerSocket.accept()
Socket.isClosed()
没有什么方法可以真的做到完全的实时,你可以看一下 心跳机制 的资料,一般都是通过这类不间断发送简单数据的方式判断远端是否在线。
和上面的心跳机制一样,你可以要求在数据发送成功后接收端再给你返回一个结果标记。
你的设备是在开启服务端吗?,如果是,那么
ServerSocket.accept()
方法是阻塞的,你的判断代码不要写在这个方法成功前就创建好的其他线程内,要与ServerSocket.accept()
在同一线程或者在ServerSocket.accept()
执行后新开的线程内,以保证判断方法也会被阻塞影响。 ——另外判断连接状态用Socket.isClosed()
。没有什么方法可以真的做到完全的实时,你可以看一下 心跳机制 的资料,一般都是通过这类不间断发送简单数据的方式判断远端是否在线。
和上面的心跳机制一样,你可以要求在数据发送成功后接收端再给你返回一个结果标记。