我想在我的应用程序中创建传输层的抽象。
我考虑过封装或继承ServerSocketChannel和SocketChannel,但很快我发现它并不那么简单,因为Java实现使用了工厂方法和服务提供者。
我的问题是:什么是实现抽象的好方法,如果通过继承或封装,我应该如何使用nio套接字?
编辑:
抽象"抽象"我的意思是我希望有一些任意操作转换为通道上的操作。例如,"写(消息)"操作(消息属于某种专有类类型)或close()操作,它还向客户端发送关闭消息。
我在自己的类中简单地封装通道的问题是,当我使用选择器时,我得到了对通道的引用,这将迫使我使用查找来访问封装对象。我不能这样做 - 我必须从频道直接访问它。