Android 10. 判定Socket 是不是连接网络

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android 10. 判定Socket 是不是连接网络相关的知识,希望对你有一定的参考价值。

参考技术A Scoket 判定是否连接网络不仅需要使用isClose方法进行判定,同时需要使用isConnected方法来判断Socket对象 是否连接成功。

1) isConnected方法所判断的并不是Socket对象的当前连接状态, 而是Socket对象是否曾经连接成功过,如果成功连接过,即使现在isClose返回true, isConnected仍然返回true。因此,要判断当前的Socket对象是否处于连接状态, 必须同时使用isClose和isConnected方法, 即只有当isClose返回false,isConnected返回true的时候Socket对象才处于连接状态。

1) 在大多数的时候可以直接使用Socket类或输入输出流的close方法关闭网络连接,但有时我们只希望关闭OutputStream或InputStream,而在关闭输入输出流的同时,并不关闭网络连接。这就需要用到Socket类的另外两个方法:shutdownInput和shutdownOutput,这两个方法只关闭相应的输入、输出流,而它们并没有同时关闭网络连接的功能。和isClosed、isConnected方法一样,Socket类也提供了两个方法来判断Socket对象的输入、输出流是否被关闭,这两个方法是isInputShutdown()和isOutputShutdown()。 shutdownInput和shutdownOutput并不影响Socket对象的状态。

以上是关于Android 10. 判定Socket 是不是连接网络的主要内容,如果未能解决你的问题,请参考以下文章

使用 Telnet 连接到 Android 上的 Socket 服务器

Android Studio 连接到 Socket 服务器

从 Internet 连接到 Android App 的 Socket:可能吗?

使用 Socket 将 Android 应用程序(带 Flex)连接到 Java 服务器?

如何在 android 上检查 socket.io 连接或断开连接?

重新连接到我的 socket.io 服务器后,没有收到从我的 android 设备发送的事件