笔者: unirithe
日期:11/19/2021
下一篇:【Java实战】网络聊天室 (二) 实现管理员反馈信息给用户 | 引用多线程机制 | 添加注册登陆功能
运行环境
- JDK 1.8
- IDEA
实现效果
用户发消息:
后台接收到消息:
1. 知识面概要
参考博文:Java学习笔记@网络编程
- Java IO流处理
java.io.*
- Java 网络编程
java.net.*
网络通信三要素:IP地址、端口、网络协议
- IP地址:IP全称为Internet Protocol,即互联网协议地址,指设备在网络中 的地址、唯一标识
- 端口:应用程序在设备中的唯一标识
- 网络协议:数据在网络中传输的规则,常见的有TCP协议和UDP协议
1.1 网络协议
TCP协议特点:面向连接的可靠通信协议、支持大数据量传输,三次握手连接,四次挥手断开连接,但通信效率低
UDP协议特点:无连接,不可靠,可广播
本次案例中TCP协议建立连接的示意图如下:
1.2 套接字
在网络上,套接字是连接两个需要通信的程序的一个抽象概念
在Java语言中,套接字是实现两个Java程序通信的一个类,可以理解成一个管道,负责两端的通信
1.3 IO流
参考资料: Java学习笔记@IO流知识梳理与部分源码解读
IO流
即 Input / Output Stream,用于设备之间的数据传输
常见的有 System.out.println()
就是通过流处理而打印到控制台
本次案例用到的IO流处理如下:
2. 实现代码
Server.java
负责实现后台管理员接收消息
Client.java
负责实现用户发消息
测试时,请记得先开启 Server ,再开启 Client
Server.java
import java.io.BufferedReader;
import java.io.