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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 即時訊息 - 時信魔方教程
- ASP.NET SignalR 與 LayIM2.0 配合輕鬆實現Web聊天室(五) 之 加好友,加群流程,訊息管理和即時訊息提示的實現ASP.NETSignalRWeb
- 十分鐘學會websocket原理(即時訊息通訊)Web
- 構建一個即時訊息應用(二):OAuthOAuth
- RVP:存在和即時訊息傳送協議 (3) (轉)協議
- RVP:存在和即時訊息傳送協議 (2) (轉)協議
- jQuery 訊息提示框jQuery
- 即時通訊
- 手淘千牛IM即時通訊-星巴克訊息開放實踐
- RocketMQ 訊息整合:多型別業務訊息——定時訊息MQ多型型別
- 訊息提示彈層滾動JQUERRY
- RocketMQ定時/延時訊息MQ
- iOS:即時通訊之iOS
- 開源 即時通訊 ?
- 訊息稱PHP即將推出移動版PHP
- 即時訊息技術剖析與實戰-袁武林-極客時間-返現12元
- 使用swoole作為MQTT客戶端並接收實現即時訊息推送MQQT客戶端
- 直播原始碼網站,訊息圖示在收到訊息時展示訊息條數原始碼網站
- koa-socket即時通訊
- 小程式即時通訊demo
- iOS流式即時通訊教程iOS
- xmpp即時通訊詳解
- 訊息的即時推送——net實現、websocket實現以及socket.io實現Web
- 呼叫webservice時提示對操作的回覆訊息正文進行反序列化時出錯Web
- 搭建直播平臺,iYiuMessage 訊息提示元件元件
- 音視訊即時通訊解決方案
- 榮耀手機鎖屏訊息提示怎麼設定?榮耀手機鎖屏訊息提示的設定方法教程
- 實時訊息推送方案-SSE
- 即時通訊和即時通訊的區別是什麼,都有什麼特點?
- 含動畫的java氣泡提示效果,右下角訊息提示窗動畫Java
- eddChat即時通訊(聊天系統)
- WEB 即時通訊最佳實踐Web
- 用 Laravel 自帶訊息模組搭建小程式實時推送訊息Laravel
- 【原始碼解讀】js原生訊息提示外掛原始碼JS
- 即時通訊視訊聊天原理是什麼
- 即時通訊文章推薦分享-不定時更新
- android個推訊息推送,asp.net呼叫介面AndroidASP.NET
- 線上直播系統原始碼,vue+audio 有新訊息時加提示音原始碼Vue