1. 程式人生 > >ASP.NET Web實時訊息後臺伺服器推送技術--GoEasy

ASP.NET Web實時訊息後臺伺服器推送技術--GoEasy

越來越多的專案需要用到實時訊息的推送與接收,怎樣用asp.net實現最方便呢?我這裡推薦大家使用GoEasy, 它是一款第三方推送服務平臺,使用它的API可以輕鬆搞定實時推送!

瀏覽器相容性:GoEasy推送 支援websocket polling兩種連線方式,從而可以支援IE6及其以上的所有版本,同時還支援其它瀏覽器諸如Firefox, Chrome, Safari等等。

支援不同的開發語言:    GoEasy推送 提供了Restful API介面,無論你的後臺程式用的是哪種語言都可以通過Restful API來實現後臺實時推送。如:Java, PHP, C#, Ruby, Python, C, C++ ASP.NET, Node.js...

支援後臺及前臺推送: 後臺用Restful API

, 前臺用goeasy.js; 運用十分簡單!

下面我介紹一下使用GoEasy的步驟:

1. 你需要到goeasy官網上註冊一個賬號,並建立一個應用,應用建立好後系統會預設為它生成兩個key: publish keysubscribe key

2. 前臺實時訂閱及接收

只需要引入goeasy.js,然後呼叫goeasysubscribe方法訂閱一個channel即可,訂閱時無論是用publish key還是subscribe key都可以。通過subscribe的引數 onMessage的回撥函式可以實時接收到訊息。

3. 前臺實時推送

還是需要引入goeasy.js(如果該頁面已經引入了可不在引入),

然後呼叫goeasypublish方法向已訂閱的channel上推送訊息即可,推送時只能用publish key

4. 後臺實時推送

呼叫GoEasy Restful API, 用post方式訪問http://goeasy.io/goeasy/publish, 同時還需要帶上三個必要引數:

    appkey: publish key

    channel: 你訂閱了的channel

   content: 推送內容

就是這麼簡單。

下面我將之前寫的一個小例項貼出來,裡面用了Java script 在web頁面進行訂閱,推送,接收,以及取消訂閱的例子,裡面的appkey用的是goeasy官方

的demo 的appkey.

    <html>  
    <head>  
    <title>GoEasy Test</title>  
      
    <script type="text/javascript" src="https://cdn.goeasy.io/goeasy.js"></script>  
    <script type="text/javascript">  
        if(typeof GoEasy !== 'undefined'){  
            var goEasy = new GoEasy({  
                appkey: 'ba821151-e043-4dfb-a954-c73744c8d323',  
                userId:"222",  
                username:"22",  
                onConnected:function(){  
                    console.log("Connect to GoEasy success.");  
                } ,  
                onDisconnected:function(){  
                    console.log("Disconnect to GoEasy server.");  
                } ,  
                onConnectFailed:function(error){  
                    console.log("Connect to GoEasy failed, error code: "+ error.code+" Error message: "+ error.content);  
                }  
            });  
        }  
                  
        subscribe();  
        function subscribe(){  
                 goEasy.subscribe({  
                    channel: 'notification',  
                    onMessage: function(message){  
                        console.log('Meessage received:'+message.content);  
                    },  
                    onSuccess:function(){  
      
                        console.log("Subscribe the Channel successfully.");  
      
                    },  
      
                    onFailed: function(error){  
      
                        console.log("Subscribe the Channel failed, error code: "+ error.code + " error message: "+ error.content);  
      
                    }  
      
                });  
      
        }  
                  
         function publishMessage(){  
              goEasy.publish({  
                    channel: 'notification',  
                    message: 'You received a new notification',  
                    onSuccess:function(){  
      
                        console.log("Publish message success.");  
      
                    },  
                    onFailed: function(error){  
      
                        console.log("Publish message failed, error code: "+ error.code +" Error message: "+ error.content);  
      
                    }  
                });  
           
         }  
                        
         function unsubscribe(){  
                    goEasy.unsubscribe({  
                        channel:"notification",  
                        onSuccess: function(){  
      
                            console.log("Cancel Subscription successfully.");  
      
                        },  
                        onFailed: function(error){  
      
                            console.log("Cancel the subscrition failed, error code: "+ error.code + "error message: "+ error.content);  
                        }  
      
                    });  
                }  
              
     </script>  
    </head>  
    <body>  
      <input type="button" value="publish" onclick="publishMessage()"/>  
      <input type="button" value="unsubscribe" onclick="unsubscribe()"/>  
      <input type="button" value="subscribe" onclick="subscribe()"/>  
    </body>  
    </html>  


相關推薦

ASP.NET Web實時訊息後臺伺服器技術--GoEasy

越來越多的專案需要用到實時訊息的推送與接收,怎樣用asp.net實現最方便呢?我這裡推薦大家使用GoEasy, 它是一款第三方推送服務平臺,使用它的API可以輕鬆搞定實時推送! 瀏覽器相容性:GoEasy推送 支援websocket 和polling兩種連線方式,從而可以支

PHP Web實時訊息後臺伺服器技術--GoEasy

越來越多的專案需要用到實時訊息的推送與接收,怎樣用PHP實現最方便呢?我這裡推薦大家使用GoEasy, 它是一款第三方推送服務平臺,使用它的API可以輕鬆搞定實時推送! 瀏覽器相容性:GoEasy推送 支援websocket 和polling兩種連線方式,從而可以支援IE

.NET基於comet伺服器技術(web實時聊天)

Comet 也稱反向 Ajax 或伺服器端推技術.其思想很簡單:將資料直接從伺服器推到瀏覽器,而不必等到瀏覽器請求資料。 主要思想:伺服器端將資料推送到客戶端(瀏覽器) 系統簡單說明如下: { 系統所用資料庫:sqlite資料庫   UserInfo:使用者資訊表

如何將 ASP.Net Web API 在 IIS 伺服器上託管

介紹 在這篇文章我展示如何承載我們的 Internet 資訊服務 (IIS) 伺服器上的 ASP.NET Web API。當我們想要我們 Web API 應用程式在本地主機託管,這非常有用。 Internet 資訊服務 (IIS) IIS 是網際網路資訊服務的首字母縮寫。它是由 Microsoft 建立的功

java web 伺服器技術 comet實現(原理)

最近對伺服器推送技術比較感興趣,在網上也看了好些文章,由於每個人理解的不同,實現細節或者語言表達方式不同,本人被各種名詞或者技術實現搞的頭大,於是自己準備整理下。 首先實現伺服器推送技術一直一來是B/S應用開發的一塊難題,因為是基於HTTP協議的,HTTP協議為無狀態,單

web聊天程式,ajax+伺服器技術

web聊天技術一般用ajax請求伺服器,方式有多種,比如定時幾秒請求一次,或長連線什麼的。我個人還是喜歡“伺服器推”這種模式,它不用定幾秒請求一次讓伺服器大大減壓。長連線什麼這個不懂什麼意思不管了(額,不知道”伺服器推“屬於哪一種)。 "伺服器推送",是指當有訊息時就把訊息

asp.net core使用serilog將日誌到騰訊雲日誌服務

為什麼是serilog? Serilog是 .NET 中最著名的結構化日誌類庫。 基於日誌事件log events,而不是日誌訊息log message。 你可以將日誌事件格式化為控制檯的可讀文字或者可以將相同的事件格式化為JSON並將其傳送到遠端日誌伺服器。 應用程式中的日誌語句會建立LogEvent物件,

伺服器技術

什麼是伺服器推送技術 推送技術是指通過客戶端與伺服器端建立長連結,客戶端可以接收由伺服器端不定時傳送的訊息。 解決方案 1.Ajax短輪詢 2.Ajax長輪詢 3.WebSocket 短輪詢 Ajax短輪詢:http 短輪詢是 server 收到請求不管是否有資料

JavaEE開發之SpringMVC中的靜態資源對映及伺服器技術

在上篇部落格中,我們聊了《》。本篇部落格我們繼續的來聊SpringMVC的東西,下方我們將會聊到js、css這些靜態檔案的載入配置,以及伺服器推送的兩種實現方式。當然我們在伺服器推送時,會用到JQuery的東西,所以我們先聊一下如何載入靜態資原始檔,然後我們再聊如何實現伺服器推送。 下方給出了兩種實現伺服器推

HTML5中的伺服器技術 -Server-Sent Events

一直以來,HTTP協議都是嚴格遵循Request-Response模型的。客戶端傳送一個Request到伺服器,伺服器對Request作出響應並將Response傳送回客戶端。也就是說,所有的互動都是由客戶端發起的,伺服器不會發起任何互動。為了建立互動性更強的web應用程

伺服器技術之——SSE

一 點睛 伺服器推送技術在日常開發中較為常用。 SSE:Server send Event:服務端傳送事件。 本專案推送技術是基於:當客戶端向服務端傳送請求,服務端會抓住這個請求不放,等有資料更新的時候才返回給客戶端,當客戶端接收到訊息後,再向服務端傳送請求,周而復始。

goEasy伺服器技術

發現一個伺服器推送和牛逼的 就是連結數如果達到一定量級的話就要收費的。 廢話不多說,直接進入正題,如何實現: 1. 從GoEasy獲取appkey appkey是驗證使用者的有效性的唯一標識。 用註冊好的賬號登入到GoEasy的後臺管理系統,建立您自己應用(

ASP.NET伺服器及前後臺實時互動

一:專案需求   頁面需要做一個上傳Excel功能,並處理Excel中的資料到資料庫中   這是一個較為漫長的過程   這時我需要在頁面上顯示處理進度的提示,給使用者一個良好的體驗   比如給使用者提示“正在上傳文件”,“正在處理資料” ,包括處理過程中的需要前臺使用者給與

asp.net web 通過IHttpAsyncHandler接口進行消息

authent div reg ret back sig sts content validate 1.創建Comet_by_ASP.NET web項目 2.handler類和result類 namespace Handle { /// <summary&g

ASP.NET Web 伺服器控制元件事件模型

ASP.NET 中有一個重要功能,允許您通過與客戶端應用程式中類似的、基於事件的模型來對網頁進行程式設計。舉一個簡單的例子,例如,可以向 ASP.NET 網頁中新增一個按鈕,然後為該按鈕的 Click 事件編寫事件處理程式。儘管這種情況在僅使用客戶端指令碼(在動態 HTML 中處理按鈕的 oncli

ASP NET Web API之訊息 攔截 處理

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

使用Jexus+Mono在FreeBSD上搭建asp.net web伺服器

前言:如果要談起如何搭建asp.net執行環境,我相信很多人會想到使用Windows Server系統和IIS來搭建,不可否認,asp.net是微軟出的東西,當然用微軟的系統搭建最合適了。如果你又想使用asp.net,又想使用 FreeBSD,那麼是不是就行不通了呢?答案當然是否定的。因為我們有Mono,有了

ASP.NET WEB API微信支付通知介面,返回xml資料,微信伺服器不識別問題

最近開發微信小程式中用到了微信支付功能,介面開發用的ASP.NET WEB API;在支付成功後,介面接受到微信伺服器的支付通知結果,處理完資料,介面返回給微信服務資料時出現了問題。微信伺服器識別不到返回的資料,導致重複通知。最終解決程式碼如下: protect

解決ASP.NET Web Applicatio超時時間已到.在操作完成之前超時時間已過或伺服器未響應

“超時時間已到。在操作完成之前超時時間已過或伺服器未響應”初步分析原因為對MSSQL操作時連線超時,知道這事,以前沒留意,大概是在配置檔案中設定連線時限,在網上找了下解決方法,大多說在資料庫連線字串裡解決 SqlConnection con = new SqlConnec

ASP.NET MVC搭建專案後臺UI框架—9、伺服器端排序

關於jquery datables的在伺服器端的排序,在網上貌似沒有看到.NET的例子,說實話,之前我也迷惑過,習慣了直接從網上找現成的東西,經過一翻搜尋,沒找到,於是乎,自己除錯唄,調了前臺,調後臺,還真被我看出了規律。事實上datables是支援多列排序的,但是本例,我只寫了單列排序。 在控制器