eventbus多个订阅_番石榴的EventBus –简单的发布者/订阅者

本文介绍如何使用Google Guava的EventBus实现一个简单的多用户聊天程序,通过套接字连接进行通信。EventBus作为发布-订阅模式的轻量级实现,使得在程序内部传递消息变得更加便捷。每个用户线程通过EventBus发布和接收消息,当一个用户发送消息时,EventBus会将消息广播给所有其他用户。示例展示了EventBus如何提高代码的松耦合性,适用于用户界面和后端组件之间的交互。
摘要由CSDN通过智能技术生成

eventbus多个订阅

在查看Google的Guava库版本10的最新添加内容时,我注意到EventBus的添加。 这是发布-订阅样式消息传递系统的轻量级实现。 这类似于JMS提供的发布-订阅模型,但是消息保留在应用程序内,而不是在外部广播。

EventBus允许您在程序中创建对象可以订阅的流; 然后,他们将接收发布到这些流的消息。 尽管使用诸如单例之类的模式来重新创建对象间通信并不是特别困难,但EventBus确实提供了一种特别简单且轻巧的机制。 单例还使具有单一类型的多个事件总线更加困难,并且

很难测试。

作为示例,我将使用几个人将通过telnet连接到的套接字创建一个简单的多用户聊天程序。 我们将简单地创建一个EventBus作为通道。 用户发送到系统的任何消息都将发布给所有其他用户。

所以这是我们的UserThread对象:

class UserThread extends Thread {
    private Socket connection;
    private EventBus channel;
    private BufferedReade
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值