Mina应用在服务端
为传入请求,处理请求,并发送回复,服务端监听一个端口。服务端为每个客户端创建和处理一个Session。
整体过程:
1.IOAccptor监听网络中进来的 connections/packets;
2.对于每一个新的conncetion,服务端创建一个新的Session。这个Session会处理随后所有的请求【每当client连接到Mina服务器时,Server就会创建一个新的Session来存储持久化数据。即使这个协议没有connected,Session也会被创建】。
3.Session接收所有的packet,这个packet穿过Filter Chain。Filter可以修改Packets中的内容(转换对象,添加/删除 信息等)。PacketEncoder/Decoder可以实现raw bytes和高级对象之间的转换。
4.最后,Packets或者转换之后的对象会被IOHandler接收。IOHandler被用来实现业务逻辑。
到来的消息处理:
假设一个Session已经被创建了,任何新到的message都会导致selector唤醒。