socket的shutdownInput和shutdownOutput是干嘛用的?什么情况必须用? shutdownInput,shutdownOutputsocketclose 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 虽然在大多数的时候可以直接使用Socket类或输入输出流的close方法关闭网络连接,但有时我们只希望关闭OutputStream或InputStream,而在关闭输入输出流的同时,并不关闭网络连接。这就需要用到Socket类的另外两个方法:shutdownInput和shutdownOutput,这两个方法只关闭相应的输入、输出流,而它们并没有同时关闭网络连接的功能。 流和Socket只有在你确定以后不再会用到时才会去close,你下次还要用当然不能close,否则你就只能重新连接了。 虽然在大多数的时候可以直接使用Socket类或输入输出流的close方法关闭网络连接,但有时我们只希望关闭OutputStream或InputStream,而在关闭输入输出流的同时,并不关闭网络连接。这就需要用到Socket类的另外两个方法:shutdownInput和shutdownOutput,这两个方法只关闭相应的输入、输出流,而它们并没有同时关闭网络连接的功能。和isClosed、isConnected方法一样,Socket类也提供了两个方法来判断Socket对象的输入、输出流是否被关闭,这两个方法是isInputShutdown()和isOutputShutdown()。下面的代码演示了只关闭输入、输出流的过程:package mysocket;import java.net.*;public class MyCloseConnection1{ public static void printState(Socket socket) { System.out.println("isInputShutdown:" + socket.isInputShutdown()); System.out.println("isOutputShutdown:" + socket.isOutputShutdown()); System.out.println("isClosed:" + socket.isClosed()); System.out.println(); } public static void main(String[] args) throws Exception { Socket socket = new Socket("www.ptpress.com.cn", 80); printState(socket); socket.shutdownInput(); printState(socket); socket.shutdownOutput(); printState(socket); }}在运行上面的代后,将得到如下的输出结果: isInputShutdown:falseisOutputShutdown:falseisClosed:falseisInputShutdown:trueisOutputShutdown:falseisClosed:falseisInputShutdown:trueisOutputShutdown:trueisClosed:false从输出结果可以看出,isClosed方法一直返回false,因此,可以肯定,shutdownInput和shutdownOutput并不影响Socket对象的状态。 Spring自动装配时Mapper为空指针 mysql 数据库查询出字段界面进行判断问题 JAVA 手机 短信问题 求查找替换最高效率算法 关于struts2 和spring 以及dwr连用问题。 诚邀JAVA开源爱好者共同开发一个开源的OA项目 公司要购买一套成熟的电子商务平台,大伙帮忙推荐几个、、、、 <html:text value=<%=("sfdsd");%> />这句错误在那? hibernate高手进,hibernate中调用sql的疑问(100分),6点前不定时看贴 如何对XML中的Qname类型作类型验证(用Java) JAVA 打开错误问题 关于List<set>,求教
package mysocket;import java.net.*;public class MyCloseConnection1
{
public static void printState(Socket socket)
{
System.out.println("isInputShutdown:" + socket.isInputShutdown());
System.out.println("isOutputShutdown:" + socket.isOutputShutdown());
System.out.println("isClosed:" + socket.isClosed());
System.out.println();
} public static void main(String[] args) throws Exception
{
Socket socket = new Socket("www.ptpress.com.cn", 80);
printState(socket); socket.shutdownInput();
printState(socket); socket.shutdownOutput();
printState(socket);
}
}在运行上面的代后,将得到如下的输出结果: isInputShutdown:falseisOutputShutdown:falseisClosed:falseisInputShutdown:trueisOutputShutdown:falseisClosed:falseisInputShutdown:trueisOutputShutdown:trueisClosed:false从输出结果可以看出,isClosed方法一直返回false,因此,可以肯定,shutdownInput和shutdownOutput并不影响Socket对象的状态。