diff --git a/s-day11/src/com/inmind/tcp03/TcpClientDemo06.java b/s-day11/src/com/inmind/tcp03/TcpClientDemo06.java new file mode 100644 index 0000000..02119dd --- /dev/null +++ b/s-day11/src/com/inmind/tcp03/TcpClientDemo06.java @@ -0,0 +1,48 @@ +package com.inmind.tcp03; + +import java.io.InputStream; +import java.io.OutputStream; +import java.net.Socket; + +/* +TCP的客户端的实现 + 在java中使用一个类Socket表示客户端 + 构造方法: + Socket(String host, int port) 创建流客户端并将其连接到指定主机(IP地址)上的指定端口号。 + 参数一host:要请求服务的服务器的ip地址 + 参数二port:要请求服务的服务器上的软件端口号 + + 常用方法: + void close() 关闭此套接字。 + InetAddress getInetAddress() 返回套接字所连接的地址。 + InputStream getInputStream() 返回此套接字的输入流.(接收响应数据的) + OutputStream getOutputStream() 返回此套接字的输出流。 (发送请求) + void shutdownOutput() 禁用此套接字的输出流 (设置了一个发送请求数据的结束标记) + + 客户端的实现步骤(对照IO图说明API的作用): + 1.创建客户端对象 + 2.获取字节输出流发送请求数据 + 3.获取字节输入流接收响应数据 + 4.释放资源 + */ +public class TcpClientDemo06 { + public static void main(String[] args) throws Exception { + //1.创建客户端对象192.168.23.107 + Socket socket = new Socket("127.0.0.1", 10024); + //2.获取字节输出流发送请求数据 + OutputStream os = socket.getOutputStream(); + os.write("淘宝的官网".getBytes()); + //告诉服务器,请求数据结束标记 + socket.shutdownOutput(); + //3.获取字节输入流接收响应数据 + InputStream is = socket.getInputStream(); + //一次读取一个字节数组 + byte[] bytes = new byte[1024]; + int len; + while ((len = is.read(bytes)) != -1) { + System.out.println(new String(bytes,0,len)); + } + //4.释放资源 + socket.close(); + } +}