服务端 Server 创建服务器
- 1、指定端口 使用ServerSocket创建服务器
- 2、阻塞式等待连接accept
- 3、操作输入输出流
- 4、释放资源
Server.java 内容如下
package com.zhazong710.tcp;
import java.io.DataInputStream;
import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;
/**
* TCP基本步骤
* 创建服务器
* 1、指定端口 使用ServerSocket创建服务器
* 2、阻塞式等待连接accept
* 3、操作输入输出流
* 4、释放资源
*
* @author zhazong710 www.zhazong710.xyz
*
*/
public class Server {
public static void main(String[] args) throws IOException {
System.out.println("-----Server-----");
//1、指定端口 使用ServerSocket创建服务器
ServerSocket server = new ServerSocket(8888);
//2、阻塞式等待连接accept
Socket client = server.accept();
System.out.println("一个客户端建立了连接");
//3、操作输入输出流
DataInputStream dis = new DataInputStream(client.getInputStream());
String data = dis.readUTF();
System.out.println(data);
//4、释放资源
dis.close();
client.close();
}
}
客户端 Client 创建客户端
- 1、建立连接 使用Socket创建客户端和服务地址端口
- 2、操作输入输出流
- 3、释放资源
Client.java 内容如下
package com.zhazong710.tcp;
import java.io.DataOutputStream;
import java.io.IOException;
import java.io.Serializable;
import java.net.Socket;
import java.net.UnknownHostException;
/**
* TCP基本步骤
* 创建客户端
* 1、建立连接 使用Socket创建客户端和服务地址端口
* 2、操作输入输出流
* 3、释放资源
*
* @author zhazong710 www.zhazong710.xyz
*
*/
public class Client {
public static void main(String[] args) throws UnknownHostException, IOException {
System.out.println("-----Client-----");
//1、建立连接 使用Socket创建客户端和服务地址端口
Socket client = new Socket("localhost",8888);
//2、操作输入输出流
DataOutputStream dos = new DataOutputStream(client.getOutputStream());
String data = "hello";
dos.writeUTF(data);
dos.flush();
//3、释放资源
dos.close();
client.close();
}
}
当只开启服务端运行结果
-----Server-----
-----Client-----
开启服务端后开启客户端运行结果
-----Server-----
一个客户端建立了连接
hello
-----Client-----