java socket 通 信 1. 1 简介 2. 2 基本套接字 1. TCP 套接字 1. TCP 客户端 2. TCP 服务器端 2. UDP 套接字 1. UDP 客户端 2. UDP 服务器端 3. 3 发送和接收数据 1. 信息编码 1. 基本整型 2. 字符串和文本 3. 成帧与解析 4. 构建和解析协议消息 1. 消息类VoteMsg 展示了每条消息中的基本信息 2. 编码和解码类接口VoteMsgCoder 3. 基于文本的编码解码类VoteMsgTextCoder 4. 基于二进制的编码解码类VoteMsgBinCoder 5. 服务器中记录投票过程的服务类VoteService 6. TCP 投票客户端类VoteClientTCP 7. TCP 投票服务器端类VoteServerTCP 8. UDP 投票客户端类VoteClientUDP 9. UDP 投票服务器端类VoteServerUDP 4. 4 多任务处理 1. 一客户一线程 2. 线程池 3. 利用 JDK 提供的线程池 javautilconcurrent 包中来实现并行服务器 4. 阻塞和超时 5. 多接收者 1. 广播 2. 多播 6. Keep-Alive 机制 7. 发送和接收缓存区的大小 8. 消除缓冲延迟 9. 关闭连接 5. 4NIO 1. Buffer 详解 2. 流 TCP 信道详解 3. Selector 详解 4. 数据报 UDP 信道 1 :简介 Java 语言从一开始就是为了让人们使用互联网而设计的,它为实现程序的相互通信提供了许多有用的抽象应用程序接口(API, Application Programming Interface),这类应用程序接口被称为套接字(sockets)。 信息(information)是指由程序创建和解释的字节序列。在计算机网络环境中,这些字节序列被称为分组报文(packets)。一组报文包括了网络用来完成工作的控制信息,有时还包括一些用户数据。用于定位分组报文目的地址的信息就是一个例子。路由器正是利用了这些控制信息来实现对每个报文的转发。 协议(protocol)相当于是相互通信的程序间达成的一种约定,它规定了分组报文的交换方式和它们包含的意义。一组协议规定了分组报文的结构(例如报文中的哪一部分表明了其目的地址)以及怎样对报文中所包含的信息进行解析。设计一组协议,通常是为了在一定约束条件下解决某一特定的问题。比如,超文本传输协议(HTTP,HyperText Transfer Protocol)是为了解决在服务器间传递超文本对象的问题,这些超文本对象在服务器中创建和存储,并由 Web 浏览器进行可视化,以使其对用户有用。即时消息协议是为了使两个或更多用户间能够交换简短的文本信息。 Application:应用程序;Socket...