色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

您的位置:首頁技術(shù)文章
文章詳情頁

概述IE和SQL2k開發(fā)一個(gè)XML聊天程序

瀏覽:376日期:2022-06-03 16:09:58

不同瀏覽器之間多年的競爭導(dǎo)致產(chǎn)生了很多工具幫助開發(fā)人員完成以前很難做到的任務(wù)。現(xiàn)在,只要一小段腳本,你就可以創(chuàng)建一個(gè)應(yīng)用程序?qū)?shù)據(jù)綁定到用戶控件,這樣就可以通過一個(gè)內(nèi)嵌的代理類型的控件與服務(wù)器通信。

在 Internet Explorer(IE)中,這些東西包括 XML 數(shù)據(jù)島和 XMLHTTP 對象,XML 數(shù)據(jù)島用于將數(shù)據(jù)綁定到表單元素,XMLHTTP 對象用于在當(dāng)前頁面內(nèi)不導(dǎo)航到其它頁面的情況下創(chuàng)建對服務(wù)器的同步和異步調(diào)用。我將使用這兩個(gè)易用的特性創(chuàng)建一個(gè)簡單的聊天應(yīng)用程序,該應(yīng)用程序由一些充當(dāng) UI 的 ASP 頁面,實(shí)現(xiàn)客戶端功能的 JavaScript,和 SQL Server 2000 中完成商業(yè)邏輯的 T-SQL 所組成。

客戶和服務(wù)器使用 XML 通信。在 Web 服務(wù)器接收到一個(gè)消息塊之后,消息塊會(huì)追加到 SQL Server 中的一個(gè)帶有時(shí)間戳的 MESSAGES 表中。基于預(yù)先定義好的時(shí)間間隔,客戶會(huì)從服務(wù)器請求更新信息,包括自上一次從服務(wù)器請求信息到現(xiàn)在為止追加到數(shù)據(jù)庫中的消息列表和聯(lián)機(jī)用戶列表。

客戶將通過 XMLHTTP 對象發(fā)送一個(gè) <action/> 到服務(wù)器。動(dòng)作(action)要么是請求刷新消息和用戶列表,要么是發(fā)送一個(gè)新消息。這些動(dòng)作保存在一個(gè)叫做 ACTIONS 的表中。服務(wù)器將響應(yīng)相應(yīng)的請求或者接受一個(gè)新消息然后追加到 MESSAGES 表中。

當(dāng)服務(wù)器響應(yīng)一個(gè)消息的請求的時(shí)候,會(huì)返回上次請求之后的所有新消息的一個(gè)列表。為了跟蹤客戶的活動(dòng),我使用一個(gè) ACTIVITY 表包含客戶活動(dòng)的日期時(shí)間(datetime),客戶的標(biāo)識(shí)保存在表 HANDLES 中,該表的名字很直觀。

下面是建表的腳本:

CREATE TABLE [dbo].[ACTIONS] (
    [action_id] [int] IDENTITY (1, 1) NOT NULL ,
    [action_name] [varchar] (50) NULL ,
    [action_descr] [varchar] (255) NULL
) ON [PRIMARY]
GO

CREATE TABLE [dbo].[ACTIVITY] (
    [handle_id] [int] NULL ,
    [action_time] [datetime] NULL
) ON [PRIMARY]
GO

CREATE TABLE [dbo].[HANDLES] (
    [handle_id] [int] IDENTITY (1, 1) NOT NULL ,
    [handle] [nvarchar] (63) NULL
) ON [PRIMARY]
GO

CREATE TABLE [dbo].[MESSAGES] (
    [msg_id] [int] IDENTITY (1, 1) NOT NULL ,
    [message] [nvarchar] (255) NULL ,
    [action_id] [int] NULL ,
    [action_time] [datetime] NOT NULL
) ON [PRIMARY]

所有的數(shù)據(jù)操作將通過存儲(chǔ)過程完成。所有的數(shù)據(jù)接口將通過一個(gè)充當(dāng) Web 服務(wù)器和 SQL Server 2000 的聯(lián)絡(luò)員的泛型 COM 完成。COM 對象暴露一個(gè)我要使用的方法RunSPReturnStream。該方法的第一個(gè)參數(shù)為存儲(chǔ)過程的名字,第二個(gè)參數(shù)是參數(shù)數(shù)組的數(shù)組。參數(shù)數(shù)組是一個(gè)如下格式的簡單數(shù)組:(paraName, paramType, paramLength, paramValue)。paramType是 ADO Parameter Type 枚舉之一。一個(gè) ASP 頁面負(fù)責(zé)接受動(dòng)作和創(chuàng)建響應(yīng),我把它叫做HandleAction.asp。

聊天頁面將包含一個(gè)區(qū)域顯示聊天消息;這個(gè)區(qū)域是一個(gè)包含在 DIV 的 TABLE。這個(gè) TABLE 被綁定到一個(gè)xmlMessages XML 數(shù)據(jù)島上。另外一個(gè)區(qū)域顯示當(dāng)前的用戶;這個(gè)區(qū)域也是一個(gè)包含在 DIV 中的TABLE,它被綁定到一個(gè)xmlUsers XML數(shù)據(jù)島上。另外還有一個(gè) TEXTAREA 供用戶輸入消息。


--------------------------------------------------------------------------------
本文作者:Phillip Perkins是Ajilon Consulting的簽約人。他的經(jīng)驗(yàn)很豐富,從機(jī)器控制和客戶/服務(wù)器到企業(yè)內(nèi)部網(wǎng)應(yīng)用。

標(biāo)簽: XML/RSS
相關(guān)文章:
主站蜘蛛池模板: 五月色一区二区亚洲小说 | 亚洲国产中文字幕 | 99热久久国产这里是精品 | 欧美一级毛片无遮挡 | 国产伦一区二区三区四区久久 | 亚洲精品午夜在线观看 | 久久精品店 | 在线视频观看免费视频18 | 99视频精品免视3 | 怡红院免费全部视频在线视频 | 美国三级网 | 1a级毛片免费观看 | 女让张开腿让男人桶视频 | 最新国产成人综合在线观看 | 久久免费小视频 | 自拍在线 | 欧美人在线 | 久久久久久久久a免费 | 可以免费观看欧美一级毛片 | 国产精品久久久久久麻豆一区 | 亚洲毛片在线免费观看 | 真人一级毛片全部免 | 女人张开双腿让男人桶爽免 | 日韩毛片基地 | 欧美午夜成年片在线观看 | 午夜爽爽| 国产剧情一区二区 | 永久精品免费影院在线观看网站 | 欧美俄罗斯一级毛片激情 | 国产在线精品一区二区三区 | 91久久亚洲精品国产一区二区 | 精品成人一区二区三区免费视频 | 综合色久 | 一级特黄牲大片免费视频 | 国产欧美日韩亚洲精品区2345 | 久久久99精品免费观看 | 免费黄色网址在线播放 | 成 人 黄 色 视频 免费观看 | 久久精品操| 一区二区三区视频免费观看 | 中文字幕乱 |