建立连接,形成传输数据的通道,在连接中进行大数据量的传输。
需要通过三次握手完成连接,是可靠地协议。但是效率低。
客户端建立过程。
1、创建TCP客户端Socket服务器,使用的是Socket对象,建立对象时明确目的地,以及要连接的主机。
2、如果连接成功,说明数据传输通道已经建立。这个通道就是流,Socket流。
3、使用输出流,将数据写出
4、关闭流
public static void main(String[] args) throws UnknownHostException, IOException {
//创建一个客户端socket服务
Socket socket=new Socket(InetAddress.getLocalHost().getHostAddress(),10002);
//獲取socket中的輸出流
OutputStream out=socket.getOutputStream();
//使用輸出流將制定的数据写出去
out.write("nihao".getBytes());
//关闭资源
socket.close();
}
服务端建立过程。
1、创建服务端Socket服务,通过ServerSocket对象
2、服务端必须队伍提供一个端口,否则可客户端无法连接
3、获取连接过来的客户端对象
4、通过客户端对象,获取Socket流读取客户端发来的数据
5、关闭流,关客户端,关服务端
public static void main(String[] args) throws IOException {
// 创建一个service服务端
ServerSocket ss = new ServerSocket(10002);
// 获取一个客户端对象
Socket s = ss.accept();
// 获取客户端对象的流
InputStream is = s.getInputStream();
// 建立一个容器,装读取的数据
byte[] buys = new byte[1024];
int len = is.read(buys);
System.out.println(new String(buys, 0, len));
ss.close();
s.close();
}