本节主要是熟悉socketFrameHandlerFactory类, 真正涉及到socket流处理器
- 展示如下类图(我们本文关心是SocketFrameHandlerFactory 和SocketFrameHandler),由类图可以知道SocketFrameHandlerFactory继承抽象类AbstractFrameHandlerFactory, 抽象类实现FrameHandlerFactory接口

1、FrameHandlerFactory (顶级接口)
-
你可以看到它只有一个方法创建FrameHandler, 入参是地址和连接名称
-
FrameHandler create(Address addr, String connectionName) throws IOException;
-
-
处理socket,必须创建socket对象,这就需要地址信息了,connectionName(连接名称)不是必要
1.1、Address地址对象
- 它只有两个属性一个是_host 主机, _port 端口号
- 主要方法就是解析ipv6(例如:[2001:db8:85a3:8d3:1319:8a2e:370:7348]:5671)的 host和port
1.2、FrameHandler (数据帧处理接口)
- 它继承了NetworkConnection接口(主要地址相关的,获取本地地址和本地端口,以及地址和端口)
- 实现类必须是线程安全的
- com.rabbitmq.client.impl.FrameHandler#setTimeout ( 设置超时时间, 单位为毫秒)
- com.rabbitmq.client.impl.FrameHandler#getTimeout (获取超时时间,单位为毫秒)
- com.rabbitmq.client.impl.FrameHandler#sendHeader (

最低0.47元/天 解锁文章
50万+





