Socket 是什么 ?
- 应用程序通过 Socket 向网络发送应答请求;
- java.net 保存的 ServerSocket 用于服务器端 而 Socket 用于建立网络连接;
- Socket 实现网络连接之后,两端都会产生一个 Socket 实例,操作实例即可完成会话;
- 套接字在客户端和服务器端的优先级相同。
Socket 连接建立的过程
服务器监听-->客户端发出请求-->建立连接-->实现通信.。
Socket 的特点
- 基于 TCP 连接,数据传输有保障;
- Socket 适用于长时间的数据连接,这一点应该与HTTP在执行完成之后就关闭区别开来;
- Socket 常用于即时通讯。
聊天室项目基础知识
- ServerSocket 创建之后要用于侦听客户端;
- ServerSocket.accept() 可实现通信连接,但会阻塞进程;
- 遇到阻塞常常可以通过新建一个线程,将引起阻塞的代码置入线程的 run 函数之中,实现函数的复写,以保证原有线程不会被阻塞;
- cmd+A --> cmd+I 实现代码的对齐;
- 聊天室项目需要有一个类将各个客户端管理器来实现客户端的彼此通信;
- 管理各个客户端通信的类,有且只能有一个,因此,需要采用单例模式实现;
- 单例模式通过,私有的构造函数+私有的静态对象+公有的静态 Get 函数,实现;