学习目标
- 网络编程
- 网络编程三要素
- TCP与UDP协议
- 基于TCP协议案例
设计模式
C/S结构 :全称为Client/Server结构,是指客户端和服务器结构。
B/S结构 :全称为Browser/Server结构,是指浏览器和服务器结构。
1.2 网络编程三要素及特点 ?
IP地址:设备在网络中的地址,是唯一的标识
- 端口:应用程序在设备中唯一的标识。(取值范围是0~65535)
- 协议:数据在网络中传输的规则,常见的协议有UDP协议和TCP协议
1.3 TCP与UDP协议之间区别 ?
| | UDP协议(用户数据报协议) | TCP协议(传输控制协议) | | —- | —- | —- | | 面向 | UDP是面向无连接通信协议 | TCP协议是面向连接的通信协议 | | 特点 | 速度快,有大小限制一次最多发送64K,数据不安全,易丢失数据 | 速度慢,没有大小限制,数据安全 |
1.4 TCP协议代码实现

//客户端public class ClientDemo {public static void main(String[] args) throws IOException {//1 创建客户端Socket对象Socket socket = new Socket("127.0.0.1",10086);//2 获取网络中的字节输出流//把网络中的字节输出流封装成高效的字符输出流BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream()));//3 给服务端发送一行字符数据bw.write("你好");bw.newLine();bw.flush();//给服务端反馈数据//获取网络中的字节输入流,封装成高效的字符输入流BufferedReader br = new BufferedReader(new InputStreamReader(socket.getInputStream()));String line = br.readLine();System.out.println(line);//释放资源br.close();bw.close();socket.close();}}
//服务端public class ServerDemo {public static void main(String[] args) throws IOException {//1 创建ServerSocket 对象ServerSocket serverSocket = new ServerSocket(10086);//2. 监听客户端的连接//Socket accept() : 该方法会一直阻塞直到建立连接Socket socket = serverSocket.accept();//3 获取网络中的字节输入流,封装成高效的字符输入流BufferedReader br = new BufferedReader(new InputStreamReader(socket.getInputStream()));//4 读取客户端发送的一行数据String line = br.readLine();System.out.println(line);//给客户端反馈数据//获取网络中的字节输出流,封装成高效的字符输出流BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream()));bw.write("你也好");bw.newLine();bw.flush();bw.close();br.close();socket.close();serverSocket.close();}}
