我有n个客户端(比如一个典型的浏览器)连接到服务器,如果任何客户端发布消息,所有其他客户端应该能够查看它IE浏览器/回复该消息。因此,任何客户端可以是发布者以及订阅者。经过一番调查,我发现了OBSERVER设计模式可能是一个可能的解决方案(可能是错误的)。任何人都可以指出我的方向是正确的吗?需要关于开发发行商订阅模型的帮助/建议。
0
A
回答
0
您可以使用开箱即用的解决方案。它会为你节省很多工作和问题,如可伸缩性,安全性等。而且,相信我,这是相当多的解决。
我为Realtime.co工作,我们就是这么做的。查看这里的例子:https://github.com/RTWWorld/pubsub-examples/tree/master/Javascript
您可以在http://www.realtime.co获得免费帐户。
我们使用可以订阅或发布到频道的发布/订阅模式。订阅频道的人将收到在那里发布的数据。
下面是一段代码为例:
<input type="text" id="mensagem" />
<input type="button" onclick="sendMessage();" value="Send" />
<div id="log"></div>
<script src="http://code.xrtml.org/xrtml-3.0.0.js"></script>
<script>
var appkey = 'YOUR_APP_KEY';
var url = 'http://ortc-developers.realtime.co/server/2.1';
var shoutbox;
xRTML.load(function(){
xRTML.Config.debug = true;
xRTML.ConnectionManager.create(
{
id: 'myConn',
appkey: appkey,
authToken: 'anything',
url: url,
channels: [
{name: 'user:channel_2'},
{name: 'user:channel_1'}
]
}).bind(
{
message: function(e) {
var log = document.getElementById('log');
log.innerHTML = log.innerHTML + '<br />' + e.message;
}
});
});
function sendMessage(){
var msg = document.getElementById('mensagem').value;
xRTML.ConnectionManager.sendMessage({
connections: ['myConn'],
channel: 'user:channel_2',
content: msg
});
}
</script>
当你点击“发送”按钮,您将发布消息通道“用户:channel_2”。由于我们的代码正在订阅“user:channel_1”和“user:channel_2”,您还将收到该消息。如果你在多个浏览器上打开这个例子,它们都会得到这个消息。
希望这会有所帮助。
+0
感谢您的建议,我一定会研究它。 – 2013-04-26 14:37:05
相关问题
- 1. 需要帮助开发Android
- 2. 在c#中发布订阅者模式需要建议
- 3. 需要基于trunk的开发建议
- 4. 需要关于Chrome扩展开发的重要建议
- 5. 需要关于iOS开发首选图形套件的帮助
- 6. 关于Jms发布订户模型的建议
- 7. 需要一些关于通过CSV导入订单的Mysql帮助和建议
- 8. 需要关于GROK模式的帮助
- 9. 需要关于android应用程序开发的建议
- 10. 需要一些关于模型关联的帮助
- 11. 需要帮助开发WCF与SSAS
- 12. 需要帮助设置开发环境
- 13. 需要帮助开发子范围
- 14. 需要帮助开发SQL查询
- 15. 需要帮助关于FMDatabase
- 16. 需要帮助关于datetimepicker
- 17. 我需要关于如何开始开发iPhone应用程序的帮助
- 18. Macbook和iPhone开发 - 需要的建议
- 19. 需要类建模帮助
- 20. 用于web开发的Git概念性帮助需要
- 21. 基于XML的图像库在ios开发中需要帮助
- 22. 需要RoR模型关系建议
- 23. 需要帮助建立模型之间的关系
- 24. noob学习android开发...需要建议
- 25. aspx。需要帮助和建议c#
- 26. Mysql查询建议/需要帮助
- 27. 我需要帮助开发一个UI5原型
- 28. 需要关于objective-c协议的几个概念的帮助
- 29. 可扩展的PPP协议。关于状态机需要帮助
- 30. 需要帮助用git建立开发过程
也许你可以使用[SignalR](http://signalr.net/)。 – Lee 2013-04-24 14:59:56