<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      Grails 中使用 grails-events-push 實現 ajax/comet/websocket 消息推送

      > 瀏覽器端的推送技術已經很成熟了,這里使用grails events push插件實現。 > > events push基于 http://grailsrocks.github.com/grails-platform-core/guide/ 與 https://github.com/Atmosphere/atmosphere 的插件,也算是 grails-platform-core 的一個擴展。 > 這里使用events push的示例并對它進行一些補遺。 ## 首先創建一個grails項目。 ## 安裝插件 events-push ,這里使用 1.0.M7版本 ## 修改 BuildConfig.grooy 在 repositories 中加入atmosphere-runtime的mvn倉庫 repositories { ... mavenRepo "http://mvn.atns.de/repository/internal/" ... } ### 在 plugins 中加入 plugins { ... complie "'org.atmosphere:atmosphere-runtime:1.1.0-SNAPSHOT'" compile ":events-push:1.0.M7" ... } ### events-push.1.0.M7引用的是atmosphere-runtime:1.1.0-SNAPSHOT。 ## 在 config 目錄新建 MyEvents.groovy events = { //瀏覽器要接受名為"msgFromServer"這個通知 'msgFromServer' namespace: 'browser', browser:true, browserFilter: { data, request -> println "browserFilter after Service" println " browserFilter data: $data" return false } //瀏覽器發送這個名為msgToServer的通知 'msgToServer' namespace: 'browser', browser:true, filter: { println "msgToServer Filter"; return true} } ### 上面代碼中 ##### 'msgToServer' 消息的標簽,消息名 ##### namespace 消息的分組,組名 ##### browser 是否允許瀏覽器接受這個消息,grails-platform-core 插件主要用于服務器中事件的推送,events push將它與atmosphere集成了起來,所以就有了這個參數 ##### filter 訪問過濾器閉包,相當與config中xxfilters.groovy,通常做一些權限檢查什么的。使用atmosphere后,ajax/comet的訪問不會經過xxxfilters.groovy,需要在這里做判斷,當然同filters一樣寫好閉包就行了,返回值決定是否攔截瀏覽器過來的消息給服務器。 ##### browserFilter 在service處理玩瀏覽器推送的消息后,緊接著會執行這里,他接受兩個參數,data:service中event()方法發送的消息內容,request:servlet request。同filters一樣,返回值決定是否攔截服務器的消息給瀏覽器 ## 創建一個Service 名為MyService.groovy //Listener注解指明這個方法接受那種消息,namespace不填的話接受所有消息,這里接受名為browser分組的消息 //注意,方法名必須是MyEvents.groovy中定義的標簽名 @Listener(namespace='browser') def msgToServer(Map data) { println "msg from browser msg:$data" println "service send 'msgFromServer' msg" //發送"msgFromServer"事件 event('msgFromServer', [msg: "!this is msg!"], [namespace: 'browser']) } ## 自己更改某個gsp,添加event push的監聽器與消息發送器 html: //這里使用sse協議 var grailsEvents = new grails.Events('${createLink(uri: '')}', {transport: 'sse'}); //發送消息給服務器 grailsEvents.send('msgToServer', {msg: "msg from browser"}); //will send data to server topic 'saveTodo' //接受服務器發送的消息 grailsEvents.on('msgFromServer', function(data){ alert(data); }); ### grails.Events中接受的transport參數,是atmosphere所支持的,基本上包含了各種ajax/comet/websocket協議。 ### 具體支持 polling, long-polling, streaming, jsonp, sse, websocket ## 整個處理流程,println輸出的結果: ##### 1、msgToServer Filter >> MyEvents.groovy msgToServer標簽的filter過濾器 ##### 2、msg from browser msg:[msg: msg from browser] >> MyService.groovy msgToServer方法 ##### 3、service send 'msgFromServer' msg >> MyService.groovy msgToServer方法 ##### 4、browserFilter after Service >> MyEvents.groovy msgToServer標簽的browserFilter過濾器 ##### 5、browserFilter data: [msg:!this is msg!] >> MyEvents.groovy msgToServer標簽的browserFilter過濾器 *** ## 參考: ##### 服務器反響推送技術 ajax/comet等,ibm的系列文章 http://www.ibm.com/developerworks/cn/views/web/libraryview.jsp?view_by=search&sort_by=Date&sort_order=desc&view_by=Search&search_by=%E5%8F%8D%E5%90%91+Ajax+%E9%83%A8%E5%88%86&dwsearch.x=14&dwsearch.y=15 ##### Using Browser Push in Grails http://java.dzone.com/articles/using-browser-push-grails ##### grails-atmosphere-plugin框架 https://bitbucket.org/bgoetzmann/grails-atmosphere-plugin/wiki/Home ##### jQuery.atmosphere.js API https://github.com/Atmosphere/atmosphere/wiki/jQuery.atmosphere.js-API ##### grails-events-push https://github.com/smaldini/grails-events-push ##### Grails Plugin Platform http://grailsrocks.github.com/grails-platform-core/guide/ ### ps: 讀goovy語言的源碼太痛苦了,文檔少是其一,又揉和了太多語言的特性。。。。。。

      posted on 2013-01-26 17:58  黑暗伯爵  閱讀(2046)  評論(1)    收藏  舉報

      導航

      主站蜘蛛池模板: 国内精品久久久久久无码不卡| 日韩一区二区三区水蜜桃| 建水县| 亚洲精品一区二区三区大桥未久| 秋霞鲁丝片av无码少妇| 中文字幕无码视频手机免费看| 东北妇女精品bbwbbw| 吉川爱美一区二区三区视频| 性欧美乱熟妇xxxx白浆| 丁香婷婷综合激情五月色| 国产综合精品一区二区三区| 国产精品人成在线观看免费| 国产95在线 | 亚洲| 无码熟妇人妻av在线电影| 亚洲国产美女精品久久久| 国产精品白丝一区二区三区| 精品欧美h无遮挡在线看中文| 国产91色综合久久高清| 欧洲中文字幕国产精品| 久久午夜无码鲁丝片直播午夜精品| 一区二区三区成人| 久久天堂综合亚洲伊人HD妓女| 日韩秘 无码一区二区三区| 任你躁国产自任一区二区三区| 国产免费午夜福利在线播放| 米奇影院888奇米色99在线| 熟妇无码熟妇毛片| 欧美乱码精品一区二区三区| 国产成人综合网亚洲第一| 色一伦一情一区二区三区| 99久久国产成人免费网站| 东方四虎av在线观看| 人妻精品动漫h无码| 午夜福利一区二区三区在线观看| 亚洲一区二区三区久久受| 18岁日韩内射颜射午夜久久成人| 国产一精品一av一免费| 容城县| 亚洲熟妇自偷自拍另亚洲| 国产丰满乱子伦无码专区| 骚虎三级在线免费播放|