国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

概述IE和SQL2k開發一個XML聊天程序

2019-11-18 19:41:03
字體:
來源:轉載
供稿:網友

不同瀏覽器之間多年的競爭導致產生了很多工具幫助開發人員完成以前很難做到的任務。現在,只要一小段腳本,你就可以創建一個應用程序將數據綁定到用戶控件,這樣就可以通過一個內嵌的代理類型的控件與服務器通信。

在 Internet Explorer(IE)中,這些東西包括 xml 數據島和 xmlhttp 對象,XML 數據島用于將數據綁定到表單元素,XMLHTTP 對象用于在當前頁面內不導航到其它頁面的情況下創建對服務器的同步和異步調用。我將使用這兩個易用的特性創建一個簡單的聊天應用程序,該應用程序由一些充當 UI 的 asp 頁面,實現客戶端功能的 javaScript,和 SQL Server 2000 中完成商業邏輯的 T-SQL 所組成。

客戶和服務器使用 XML 通信。在 Web 服務器接收到一個消息塊之后,消息塊會追加到 SQL Server 中的一個帶有時間戳的 MESSAGES 表中。基于預先定義好的時間間隔,客戶會從服務器請求更新信息,包括自上一次從服務器請求信息到現在為止追加到數據庫中的消息列表和聯機用戶列表。

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

當服務器響應一個消息的請求的時候,會返回上次請求之后的所有新消息的一個列表。為了跟蹤客戶的活動,我使用一個 ACTIVITY 表包含客戶活動的日期時間(datetime),客戶的標識保存在表 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]

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

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


--------------------------------------------------------------------------------
本文作者:Phillip Perkins是Ajilon Consulting的簽約人。他的經驗很豐富,從機器控制和客戶/服務器到企業內部網應用。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 五台县| 甘泉县| 工布江达县| 奉新县| 咸宁市| 五莲县| 永仁县| 商南县| 安远县| 荆州市| 盈江县| 南漳县| 广昌县| 巫溪县| 永川市| 鹤壁市| 淮阳县| 温州市| 凤山县| 鹤岗市| 元朗区| 海南省| 南陵县| 陕西省| 合肥市| 新河县| 定南县| 台州市| 洪洞县| 泰和县| 平遥县| 沙河市| 根河市| 桃园市| 茌平县| 青河县| 嵊泗县| 龙川县| 潼关县| 旬阳县| 洛浦县|