这里客户端并不是“头信息”和“请求数据”一起发发送,而是分两次发送。先发如下的头信息,然后才发送请求的服务和参数:
/**
* Write the connection header - this is sent when connection is established
* +----------------------------------+
* | "hrpc" 4 bytes |
* +----------------------------------+
* | Version (1 byte) |
* +----------------------------------+
* | Service Class (1 byte) |
* +----------------------------------+
* | AuthProtocol (1 byte) |
* +----------------------------------+
*/
//客户端和服务端
Client:
客户端较直接,是普通的i/o调用。Call,Connection是Client内部类。
Serve:
服务端使用的NIO的方式。
1)Serve 在启动(start函数)的时候,构造Listener,Responder,Handler(数组)
Listener 构造出Reader(数组)
注释:构造数组多个为了提升处理能力。
2)Serve 构造如下几个线程类分别处理如下对应nio事件
Listener:Acceptable Reader:Readable Responder:Writable