Pushlet 推送資料庫訊息到前台指定使用者

2021-06-07 01:56:44 字數 1339 閱讀 5462

在專案中遇到需要實現類似 facebook 訊息推送的功能, 也就是伺服器端將未讀的系統訊息條數推送給前台使用者(秒級), 即使用者在前台頁面可以實時的看到最新的系統訊息, 經過調研決定使用 pushlet (  來實現.

首先, 由於 pushlet 自己產生的 sessionid 是個隨機數, 當後台向前臺推送訊息時無法和當前登入使用者聯絡起來, 因此我們需要修改 pushlet 產生 sessionid 的方法. 具體來說就是在

nl.justobjects.pushlet.core.sessionmanager 中修改方法 public session createsession(event anevent) throws pushletexception

修改後的**為

public session createsession(event anevent) throws pushletexception
其次, 在前台的 ajax-pushlet-client.js 增加幾行**用來向後台傳使用者登入 id

在此**後面加上

// construct base url for get

var url = pl.pushleturl + '?p_event=' + anevent;

var userid = getmenuvalue("userid");

if (anevent == 'join' || anevent == 'join-listen')

對 pushlet 的源**改造完成, 需要對其重新編譯生成 jar 檔案後加入到專案 lib 中去

接下來就是編寫 servlet 來獲取當前登入使用者有多少未讀訊息

最後在前台只接受並顯示當前使用者自己對應的未讀的訊息條數

Access資料庫到Mysql資料庫實時更新

專案目標 首先是將access資料庫中的大量資料 已經存好的原有百萬級資料 轉存到mysql資料庫中,然後,隨著access中資料的增加,要同步更新mysql資料庫,更新週期自定。思路 一開始的轉存前篇部落格已經講過,這裡就忽略了,主要是實現access資料更新後同步到mysql中。思路是 1.用m...

使用SignalR實時推送資料庫變化

測試環境 net 4.6 vs2017 mvc5 sqlserver2012 1.資料庫 create table dbo carinfo id int identity 1,1 not null,carno varchar 50 not null,lng varchar 50 not null,l...

匯入Excel資料到資料庫

oracle下匯入excel資料 如下 using system.data using system.data.oledb using system.data.oracleclient 根據路徑得到excel檔案資料 public datatable getexceldata string file...