狠狠色丁香婷婷综合尤物/久久精品综合一区二区三区/中国有色金属学报/国产日韩欧美在线观看 - 国产一区二区三区四区五区tv

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發文檔 其他文檔  
 
網站管理員

ASP.NET實現消息推送

admin
2015年1月31日 15:49 本文熱度 6496

ASP.NET實現的消息推送,一個簡單的聊天室,基于長連接實現。


實現了:


用戶的登錄與退出


在線用戶列表的獲取


消息的推送與接收


基于這個很容易實現站內IM即時通訊系統,核心WebIM.js代碼如下(下載源碼,運行Default.aspx登錄即可):


/// <reference path="jquery-1.3.2.min.js" >
//$(document).ready(function () {

//狀態,代表是否登錄
//var _logined = false;

//登錄,登錄成功后,獲取在線用戶列表,
function login() {
//$.post("comet_broadcast.asyn", { action: 'login', uid: $("#txtLoginID").val() },
$
.post("comet_broadcast.asyn", { action: 'login', uid: strUid },
function (data, status) {
if (data == "OK") {
_logined
= true;
getuserlist
();

//增加頁面跳轉
/*var strUrl = '\SendInfo.aspx?strUid=' + $("#txtLoginID").val();
window.open(strUrl);
*/

}
else {
alert
(data);
}
});
}

//獲取在線用戶列表,獲取列表后,進入消息等待
function getuserlist() {
//$.post("comet_broadcast.asyn", { action: 'getuserlist', uid: $("#txtLoginID").val() },
$
.post("comet_broadcast.asyn", { action: 'getuserlist', uid: strUid },
function (data, status) {
//alert('getuserlist' + data);
var result = $("#divResult");
result
.html(result.html() + "<br/>" + "用戶列表:" + data);

wait
();
});
}

//退出
function logout() {
//$.post("comet_broadcast.asyn", { action: 'logout', uid: $("#txtLoginID").val() },
$
.post("comet_broadcast.asyn", { action: 'logout', uid: strUid },
function (data, status) {
_logined
= false;
alert
(data);
}
);
}

//消息等待,接收到消息后顯示,發起下一次的消息等待
function wait() {
//$.post("comet_broadcast.asyn", { action: 'connect', uid: $("#txtLoginID").val() },
$
.post("comet_broadcast.asyn", { action: 'connect', uid: strUid },
function (data, status) {

/*
var result = $("#divResult");
result.html(result.html() + "<br/>" + "用戶列表:" + data);
*/


//2.窗口
/*
var strSubData = GetSubStrBySpecChar(data, ':');

if (strSubData == 'Msgs') {
new Ext.ux.ToastWindow({
title: '提示窗口',
html: data,
iconCls: 'error'
}).show(document);
}
else if (strSubData == 'Users') {
//暫時不處理
}
*/

new Ext.ux.ToastWindow({
title
: '提示窗口',
html
: data,
iconCls
: 'error'
}).show(document);

//服務器返回消息,再次建立連接
if (_logined) {
wait
();
}

}, "html");
}

//function send() {
// //向comet_broadcast.asyn發送請求,消息體為文本框content中的內容,請求接收類為AsnyHandler
// $.post("comet_broadcast.asyn", { content: $("#content").val() });

// //清空內容
// $("#content").val("");
//}

//function wait() {
// $.post("comet_broadcast.asyn", { content: "-1" },
// function(data, status) {
// var result = $("#divResult");
// result.html(result.html() + "<br/>" + data);

// //服務器返回消息,再次立連接
// wait();
// }, "html"
// );
//}

////初始化連接
// wait();

//$("#btnSend").click(function() { send(); });
//$("#content").keypress(function(event) {
// if (event.keyCode == 13) {
// send();
// }
//});

//附加事件
///$("#btnLogin").click(function () { if ($("#txtLoginID").val() == '') alert('空'); login(); });
//$("#btnLogout").click(function () {
// logout();
//});

/***********
*********************消息發送部分***************************
************/


function send() {

//$.post("comet_broadcast.asyn", { action: 'sendmsg', uid: $("#txtLoginID").val(), content: $("#content").val() },
$
.post("comet_broadcast.asyn", { action: 'sendmsg', uid: strUid, content: $("#content").val() },
function (data, status) {

/*
var result = $("#divResult");
result.html(result.html() + "<br/>" + "已發消息:" + data);
*/


//發送方頁面提示
//潛規則:暫時不處理
/*
//2.窗口
new Ext.ux.ToastWindow({
title: '提示窗口',
html: data,
iconCls: 'error'
}).show(document);
*/


}, "html"
);

//向comet_broadcast.asyn發送請求,消息體為文本框content中的內容,請求接收類為AsnyHandler
//$.post("comet_broadcast.asyn", { content: $("#content").val() });

//清空內容
$
("#content").val("");
};

/**
* 獲取字符串中某個特殊字符首次出現的位置之前的子串
*/

function GetSubStrBySpecChar(strConnStr,strSplit){

var arrStr = strConnStr.split(strSplit);
var strSubStr = arrStr[0];

return strSubStr;

}

/*
$("#btnSend").click(function () { send(); })

$("#content").keypress(function (e) {

var keyCode = null;

if (e.which)
keyCode = e.which;
else if (e.keyCode)
keyCode = e.keyCode;

if (keyCode == 13) {

send();

return false;
}

return true;
});*/


//獲取在線用戶列表,獲取列表后,進入消息等待
/*
function getuserlist_send() {
$.post("comet_broadcast.asyn", { action: 'getuserlist', uid: strUid },
function (data, status) {
//alert('getuserlist' + data);
var result = $("#divResult");
result.html(result.html() + "<br/>" + "用戶列表:" + data);
wait();
});
}*/


//});

 

該文章在 2015/1/31 15:49:54 編輯過
關鍵字查詢
相關文章
正在查詢...
點晴ERP是一款針對中小制造業的專業生產管理軟件系統,系統成熟度和易用性得到了國內大量中小企業的青睞。
點晴PMS碼頭管理系統主要針對港口碼頭集裝箱與散貨日常運作、調度、堆場、車隊、財務費用、相關報表等業務管理,結合碼頭的業務特點,圍繞調度、堆場作業而開發的。集技術的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業的高效ERP管理信息系統。
點晴WMS倉儲管理系統提供了貨物產品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質期管理,貨位管理,庫位管理,生產管理,WMS管理系統,標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務都免費,不限功能、不限時間、不限用戶的免費OA協同辦公管理系統。
Copyright 2010-2025 ClickSun All Rights Reserved