asp.net 即時訊息提示
很多的sns網站都提供了短訊息功能。而且,如果我們線上的話會很快的收到好友的短訊息。
這裡介紹一種客戶端的方法,簡單實現。
主要的表:
user
:Uid UName Password 三個欄位
Message
:Mid, SenderId, ReceiverId, State, Detail(SenderId和 ReceiverId)都是外來鍵且對應user表中的Uid。
主要的思路很簡單:用js每隔五秒鐘傳送一次ajax請求,獲取當前使用者在Message表中State為未讀取(這裡約定為數字1)且ReceverId為當前使用者ID的Message 記錄的數量。
頁面的程式碼:
<!-- 兩個js指令碼檔案-->
js程式碼:這裡用到了Jquery框架,不再贅述,網上有很多的資料。
GetMessageCount.js
//------GetMessageCount.js Begin----------------------
if(!GetMessageCount){
var GetMessageCount = {};
}
$(document).ready(
function(){
GetMessageCount.FindMessage();
}
);
GetMessageCount.FindMessage = function(){
$.ajax({
//處理ajax請求
url:'FindNewMessage.ashx',
// 當前使用者的ID,這裡圖省事就省略了,直接寫死為 1,
//實際使用過程中可以從session中獲取 。。。。
data:{Uid:1},
cache: false,
//回撥函式返回未讀簡訊數目
success: function(response)
{
$('#messageCount').val(response);
},
error:function(data)
{
alert("載入失敗");
}
});
//每隔5 秒遞迴呼叫一次,重新整理未讀簡訊數目
window.setTimeout(GetMessageCount.FindMessage,5000);核心語句
}
//------GetMessageCount.js End----------------------
到了這裡,貼出處理ajax請求頁面的程式碼,非常簡單
FindNewMessage.ashx
//----------------'FindNewMessage.ashx Begin
using System;
using System.Collections;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Services;
using System.Web.Services.Protocols;
using System.Xml.Linq;
namespace MIDemo
{
///
/// $codebehindclassname$ 的摘要說明
///
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
public class FindNewMessage : IHttpHandler
{
public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/plain";
//就這一句程式碼,獲取未讀簡訊的數量,返回頁面
//後臺的sql程式碼就省略了
int count = SqlHelp.SqlHelp.GetUnreadMessageCount(Convert.ToInt32(context.Request["Uid"]));
//返回頁面
context.Response.Write(count);
}
public bool IsReusable
{
get
{
return false;
}
}
}
}
//----------------'FindNewMessage.ashx End
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12639172/viewspace-673141/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 即時訊息 - 時信魔方教程
- vue提示訊息Vue
- 構建一個即時訊息應用(二):OAuthOAuth
- 即時通訊
- 手淘千牛IM即時通訊-星巴克訊息開放實踐
- RocketMQ 訊息整合:多型別業務訊息——定時訊息MQ多型型別
- 搭建直播平臺,iYiuMessage 訊息提示元件元件
- RocketMQ定時/延時訊息MQ
- 即時訊息技術剖析與實戰-袁武林-極客時間-返現12元
- 使用swoole作為MQTT客戶端並接收實現即時訊息推送MQQT客戶端
- GGTalk 開源即時通訊系統原始碼剖析之:聊天訊息防錯漏機制原始碼
- 訊息的即時推送——net實現、websocket實現以及socket.io實現Web
- 實時訊息推送整理
- 直播原始碼網站,訊息圖示在收到訊息時展示訊息條數原始碼網站
- koa-socket即時通訊
- 小程式即時通訊demo
- iOS流式即時通訊教程iOS
- 【原始碼解讀】js原生訊息提示外掛原始碼JS
- 榮耀手機鎖屏訊息提示怎麼設定?榮耀手機鎖屏訊息提示的設定方法教程
- 實時訊息推送方案-SSE
- 即時通訊和即時通訊的區別是什麼,都有什麼特點?
- 線上直播系統原始碼,vue+audio 有新訊息時加提示音原始碼Vue
- [場景設計]即時通訊
- eddChat即時通訊(聊天系統)
- Vue ElementUI 如何修改訊息提示框樣式---messageBoxVueUI
- 即時通訊視訊聊天原理是什麼
- 在ASP.NET Core 中使用 .NET Aspire 訊息傳遞元件ASP.NET元件
- 用 Laravel 自帶訊息模組搭建小程式實時推送訊息Laravel
- 有獎調研 | 即時訊息服務的產品需求規劃就交給你了!
- 微信客服訊息時間限制
- Socket搭建即時通訊伺服器伺服器
- 重繪DevExpress的XtraMessageBox訊息提示框控制元件devExpress控制元件
- 好訊息 OR 壞訊息
- 即時通訊技術文集(第13期):Web端即時通訊技術精華合集 [共15篇]Web
- 造輪子之訊息實時推送
- 延時訊息常見實現方案
- Linux安裝即時通訊軟體SignalLinux
- 重新認識融雲,「不止即時通訊」
- java WebSocket 即時通訊配置使用說明JavaWeb