我有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