预备知识
多线程
实现多线程
线程池
IO流
核心功能就是读和写
扩展功能对什么读写,怎么读写,如何优化读写
网络基础
IP
IP规定网络上所有的设备都必须有一个独一无二的IP地址,就好比是邮件上都必须注明收件人地址,邮递员才能将邮件送到。同理,每个IP信息包都必须包含有目的设备的IP地址,信息包才可以正确地送到目的地。同一设备不可以拥有多个IP地址,所有使用IP的网络设备至少有一个唯一的IP地址
OSI模型
TCP/IP模型
网络通信
基本思路:
- 存在着两台主机client,和server
- 两方通过ip和端口号确定对方位置
- 通过socket传递信息
TCP
TCP协议全称是传输控制协议是一种面向连接的、可靠的、基于字节流的传输层通信协议,由 IETF 的RFC 793定义。TCP 是面向连接的、可靠的流协议。,
• 它充分地实现了数据传输时各种控制功能,可以进行丢包时的重发控制,还可以对次序乱掉的分包进行顺序控制。而这些在 UDP 中都没有。
• 此外,TCP 作为一种面向有连接的协议,只有在确认通信对端存在时才会发送数据,从而可以控制通信流量的浪费。
• 根据 TCP 的这些机制,在 IP 这种无连接的网络上也能够实现高可靠性的通信( 主要通过检验和、序列号、确认应答、重发控制、连接管理以及窗口控制等机制实现)客户端创建socket,服务端接受socket,然后再通过socket传递信息
• 用到的主要的类:
• Socket
• ServerSocket
• I/O相关
• 类之间的关系
• InetSocketAddress继承SocketAddress,作用是存储ip地址和端口号
• Inet4Address与Inet6Address继承InetAddress,作用存储p地址
创建
private static class InetSocketAddressHolder {
// The hostname of the Socket Address
private String hostname;
// The IP address of the Socket Address