`
huncent
  • 浏览: 16696 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

cometd后端直接publish消息给client

阅读更多
package testcomet
import org.cometd.client.*;
import org.eclipse.jetty.client.HttpClient;
class TestcometdService {

    static transactional = true

    def serviceMethod() {
       HttpClient _httpClient;
     _httpClient = new HttpClient();
        _httpClient.setMaxConnectionsPerAddress(20000);
        _httpClient.setIdleTimeout(15000);
        _httpClient.start();
  BayeuxClient client = new BayeuxClient(_httpClient, "http://localhost:8082/cometd");
  client.start();

  Map<String, Object> data = new HashMap<String, Object>();
  // Fill in the data
  data.msg="test msg";
  client.publish("/chat/membersd", data, null);

    }
}

1
0
分享到:
评论
1 楼 bcw104 2012-02-18  
官方推荐的方式为采用LocalSession:


@Named
@Singleton
@Service("ExternalEventBroadcaster")
public class ExternalEventBroadcaster {
	private final static Logger log = LoggerFactory
			.getLogger(ExternalEventBroadcaster.class);

	@Inject
	private BayeuxServer bayeux;

	private LocalSession localSession;

	@PostConstruct
	public void init() {
		this.localSession = bayeux.newLocalSession("external");
		this.localSession.handshake();
		
		log.info("Web服务器广播服务初始化完毕.");

	}

	public void onExternalEvent() {

		ServerChannel channel = bayeux.getChannel("/chat/hello");
		if (channel != null) {
			// Broadcast the data
			channel.publish(localSession, "你好", null);
		}
	}

}

相关推荐

    mycometd_push_Cometd_消息推送_

    - **消息发布**:当服务器端有新消息时,通过已订阅的频道将消息推送给客户端。 - **心跳维持**:CometD通过心跳机制检测连接状态,防止连接超时。 - **断线重连**:如果网络出现问题导致连接中断,CometD会尝试...

    cometd-nodejs-client:NodeJS 的 CometD 客户端

    CometD NodeJS Client 不依赖于 CometD JavaScript Client; 您需要 CometD JavaScript Client 来开发您的应用程序。 因此,您需要安装 CometD JavaScript Client,版本 3.1.2 或更高版本: npm install cometd ...

    Cometd 开发指南

    服务器负责转发广播消息给所有订阅了对应频道的客户端。而元数据消息和服务消息在服务器端会被特殊处理,这些消息不会被转发到任何客户端。 在客户端方面,无论是浏览器还是其他支持JavaScript的环境,都可以实现对...

    cometd实例demo

    5. **CometD的生命周期**:包括订阅(Subscribe)、发布(Publish)、断开(Disconnect)和重连(Reconnect)等操作。订阅是客户端声明对特定主题的兴趣,发布则是将消息发送到指定的主题,断开和重连处理客户端与...

    cometd 框架实现的几个小程序

    用户发送的消息可以通过CometD服务直接推送到其他在线用户,无需客户端不断地轮询服务器获取新消息。这大大提高了用户体验,降低了服务器负载。 2. **注册功能**:注册通常涉及用户身份验证和授权。在CometD中,...

    cometd-jquery的jar

    cometd.publish('/chat', message); }); }); ``` 在上述代码中,`/chat`是订阅的频道,用户点击按钮时,会将输入框中的文本作为消息内容发送到该频道。当服务器端有新消息发布到 `/chat` 频道时,前端会接收到并...

    CometD 简介

    - **客户端半对象**:在远程客户端一侧,通过 JavaScript 的 `org.cometd.Cometd` 对象或 Java 中的 `org.cometd.bayeux.client.ClientSession` 类表示。 - **创建会话**:客户端通过创建客户端会话来与服务器建立 ...

    cometd-1.0.0rc0 源码

    - **Bayeux协议**:CometD使用Bayeux协议来定义服务器与客户端之间的交互,该协议是为实时Web应用程序设计的,它定义了消息格式、订阅和发布机制等。 - **跨平台**:CometD不仅有Java实现,还有JavaScript、Python...

    CometD2.x官方帮助手册

    - **频道与订阅**:在CometD中,频道是消息的载体,客户端通过订阅频道来接收服务器推送的消息。这部分会详细介绍如何创建、管理和操作频道。 - **消息生命周期**:讲解消息从发布到传递再到客户端接收的完整流程,...

    cometd-2.9.0-distribution.tar.gz

    2. **编译后的JAR文件**:包含CometD库的预编译JAR,可以在项目中直接引用,如`cometd-java-server.jar`、`cometd-java-client.jar`等,用于服务器端和客户端的实现。 3. **文档**:如API文档(Javadoc)、用户指南...

    cometd-5.0.x.zip

    在"cometd-5.0.x.zip"这个压缩包中,包含了CometD框架的5.0.x版本的源代码,开发者可以直接将其解压并集成到自己的项目中使用。 首先,让我们深入了解一下CometD的核心特性: 1. **WebSocket支持**:CometD的核心...

    Cometd可运行实例

    这是一份Cometd的实例源码文件,导入到eclipse中用Tomcat发布服务即可。由于最近开发需要,本人根据cometd-3.0.5的开发文档,整理代码得出这份源码例子,http://localhost:8080/ComtedTest/ 输入昵称并点击加入即可...

    cometd-3.0.0.beta2-distribution.tar.gz

    2. **发布(Publish)**:服务器向频道发布消息,所有订阅了该频道的客户端都会收到消息。 3. **订阅(Subscribe)**:客户端订阅频道,以便接收服务器发布的消息。 4. **握手(Handshake)**:客户端和服务器建立...

    Jetty cometd(Continuation)学习笔记

    Dojo提供了Cometd模块,可以方便地与Jetty Cometd服务进行对接,实现订阅和发布消息的功能。例如,客户端可以通过订阅特定的频道来接收服务器推送的消息,而服务器则可以通过发布消息到这些频道来更新客户端的状态。...

    cometd-2.9.1-distribution.tar.gz_Cometd_微信推送 java_推送

    - **发布(Publish)**:服务器或客户端可以向频道发布消息,其他订阅了该频道的客户端会收到消息。 - **持久化(Persistent Connections)**:CometD支持长连接,即使在断网或服务器重启后,也能恢复之前的状态,...

    cometd-bayeux.jar

    cometd bayeux jar 类库

    cometd注解实现java端代码实例

    很少有服务器端主动发送信息给客户端的例子。这个方式,可以在controller中实现你需要的任何权限控制等操作。使用起来更加灵活。另外,本例子实现了websocket的传输方式。客户端的js用官网上的例子修改一下就行。 本...

    cometd-java-oort-3.0.0.zip

    【标题】"CometD Java Oort 3.0.0" 是一个专注于实时通信的开源项目,而GWT(Google Web Toolkit)数据类型库则是为GWT项目提供通用数据类型和基础设施支持的一个简单库。 在Java编程领域,CometD是一个基于Bayeux...

    一种基于Terracotta的透明分布式CometD引擎实现.pdf

    CometD原生提供了一种编程化的解决方案,使用HTTP协议在服务器之间进行消息广播。但这种方法有两个主要缺点:一是需要大量编程工作,二是广播方式影响服务器的可扩展性。为了解决这些问题,作者对CometD的源代码进行...

    源码部署javaTomcat-cometd:CometD项目,用于Web消息传递的可扩展Comet(服务器推送)实现

    源码安装java Tomcat CometD 计划 欢迎使用该项目,这是一个用于 Web 的可扩展彗星(服务器推送)实现。 CometD 版本 ...CometD许可证 CometD ...cometd-archetypes ...cometd-demo ...cometd-documentation ...client li

Global site tag (gtag.js) - Google Analytics