JAVA半关闭方法

/*

* 这个代码说明的是客户端使用半关闭方法

* */

package comOne;

import java.io.IOException;

import java.io.PrintWriter;

import java.net.Socket;

import java.util.Scanner;

public class BanGuanBi {

public static void main(String[] args) {

// TODO Auto-generated method stub

try {

Socket socket = new Socket("210.41.160.7", 13);

Scanner in = new Scanner(socket.getInputStream());

PrintWriter writer = new PrintWriter(socket.getOutputStream());

//发送请求数据

writer.println("正在发送请求的数据!!");

writer.flush();

socket.shutdownOutput();

//现在socket是半关闭的状态

//读取请求数据

while(in.hasNextLine()){

String line = in.nextLine();

}

socket.close();

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

}

时间: 2024-11-10 10:03:34

JAVA半关闭方法的相关文章

java socket - 半关闭

通常,使用关闭输出流来表示输出已经结束.但在进行网络通信时则不能这样做.因为我们关闭输出流时,该输出流对应的Socket也将随之关闭,这样程序将无法再从该socket中读取数据. 为了应付这种情况,socket提供了两个半关闭的方法用来只关闭socket的输入流或者输出流,用以表示输出数据已经发送完成.方法详情: shutdownInput():关闭该socket的输入流,程序还可以通过该socket的输出流输出数据: shutdownOutput():关闭该socket的输出流,程序还可以通过

java事件响应方法汇总(容器类监听、监听器类、AbstractAction、反射)

Java图形用户界面中,处理事件时所必须的步骤是: 1.创建接受响应的组件(控件)2.实现相关事件监听接口3.注册事件源的动作监听器4.事件触发时的事件处理 相应的可以通过以下的集中方式来作出事件响应. [java] view plaincopyprint? <span style="font-size: 18px;">一.容器类监听 效果:单击窗体中的三个按钮,实现相应的相应时间. </span><pre class="java" n

java 的 renameTo方法重命名失败

java 的 renameTo方法重命名文件失败 ,没有异常: 解决方案,应该是重命名之前你在读它 类似如下,先重命名 ,但这个时候你还在读取它,流没有关闭呢. 这个问题很难发现因为,java没有报任何异常

TCP/IP网络编程 基于Linux编程_2 --I/O流分离的半关闭问题

理论基础 流:调用fopen打开文件后进行文件读写操作会创建流,套接字网络通信也会创建流,流是以数据收发为目的的一种桥梁,其实就是指数据的流动,我们可以理解为数据收发的路径. I/O流分离:是指把数据的发送与接收流分开处理,由2个不同对象控制而不是交个1个对象.我们之前讲过2种I/O流分离的方法,第一种:通过调用fork函数创建子进程,父进程负责接收数据,子进程负责发送数据(学习笔记_11).第二种:通过2次fdopen函数的调用,创建读模式FILE指针与写模式FILE指针(基于Linux编程_

JAVA Runtime.addShutdownHook()方法

Runtime#addShutDownHook方法是给虚拟机增加一个虚拟机关闭时的调用钩子,在虚拟机关闭的时候调用这些钩子线程.还是非常有用的一个方法,最直接的用法就是监控了,因为其是在虚拟机临关闭时被调用,所以天生可以记录虚拟机关闭这件事情,及其相关的信息:再就是清理资源什么的,也可以做一个钩子线程,这样就不用再应用中为这些清理资源的操作找合适的位置了: 下面先翻译一下这个方法的Java doc,在网上找到几篇翻译,都出自一个版本,错误挺多的,这里重新翻译一下: doc的第一句话是Regist

Java中的方法重写 与 final关键字

Java中的方法重写 与 final关键字 以下程序是否存在错误? class Base { private final void method() { System.out.println("In Base..."); } } class Sub extends Base { public void method() { System.out.println("In Sub..."); } } 答案 正确的. 使用final关键字可以声明类.成员变量和成员方法,一

1.28 Java基础总结 ①方法重载②构造方法

1.28 Java基础总结 ①方法重载②构造方法 一.方法的重载在同一个类中,方法名相同,形参列表不同访问修饰符.返回类型和是否重载无关:按顺序对应的形参列表类型不同即可 二.构造器在类创建一个实例时被调用,构造方法只能用new关键字调用目的:初始化实例,初始化类属性(0,0.0,null,false)无返回值,和类名一致,用来构造对象作用:为对象分配内存, 创建并初始化成员变量(通过类创建,所以可以在static方法中调用构造方法) 返回引用,引用.属性:引用.方法(所以无返回值) 三.构造方

Win8.1屏幕亮度自动调节关闭方法

细心的朋友会发现,Win8.1系统的笔记本屏幕亮度有时候,会根据外界光线亮度以及温度自动调节屏幕亮度,尽管看似比较智能,但有时候我们并不希望笔记本屏幕亮度受光线影响,忽暗忽亮.如果我们希望Win8笔记本屏幕亮度是恒定的,又该如何设置呢?其实方法也比较简单,以下百事网小编介绍下Win8.1屏幕亮度自动调节关闭方法,希望对有需要的朋友,有所参考. Win8.1屏幕亮度自动调节关闭方法 小编发现,关闭Win8.1屏幕亮度自动调节有两种方法,以下具体看看. 方法一: 1,进入Win8.1控制面板,然后进

java 安全验证方法

输入数据验证:虽然为方便用户而在客户端层上提供数据验证,但仍必须使用 Servlet 在服务器层上执行数据验证.客户端验证本身就不安全,因为这 些验证可轻易绕过,例如,通过禁用 Javascript. 一份好的设计通常需要 Web 应用程序框架,以提供服务器端实用程序例程,从而验证以下内容:[1] 必需字段[2] 字段数据类型(缺省情况下,所有 HTTP 请求参数都是"字符串")[3] 字段长度[4] 字段范围[5] 字段选项[6] 字段模式[7] cookie 值[8] HTTP 响