除了isClose方法,Socket类还有一个isConnected方法来判断Socket对象是否连接成功。
看到这个名字,也许读者会产生误解。
其实isConnected方法所判断的并不是Socket对象的当前连接状态,
而是Socket对象是否曾经连接成功过,如果成功连接过,即使现在isClose返回true,
isConnected仍然返回true。因此,要判断当前的Socket对象是否处于连接状态,
必须同时使用isClose和isConnected方法,
即只有当isClose返回false,isConnected返回true的时候Socket对象才处于连接状态。
虽然在大多数的时候可以直接使用Socket类或输入输出流的close方法关闭网络连接,
但有时我们只希望关闭OutputStream或InputStream,而在关闭输入输出流的同时,并不关闭网络连接。
这就需要用到Socket类的另外两个方法:shutdownInput和shutdownOutput,
这两个方法只关闭相应的输入、输出流,而它们并没有同时关闭网络连接的功能。
和isClosed、isConnected方法一样,
Socket类也提供了两个方法来判断Socket对象的输入、输出流是否被关闭,
这两个方法是isInputShutdown()和isOutputShutdown()。
shutdownInput和shutdownOutput并不影响
Socket
对象的状态。
android socket连接状态
最新推荐文章于 2025-02-07 23:50:23 发布