何年にもわたる異なるブラウザ間の競争により、開発者が以前は困難だったタスクを完了するのに役立つ多くのツールが作成されました。これで、ほんの少しのスクリプトを使用して、データをユーザー コントロールにバインドするアプリケーションを作成して、埋め込みプロキシ タイプ コントロールを介してサーバーと通信できるようになります。 Internet Explorer (IE) では、XML データ アイランドと xmlhttp オブジェクトが含まれます。XML データ アイランドはデータをフォーム要素にバインドするために使用され、XMLHTTP オブジェクトは他のページに移動せずに現在のページ内で作成するために使用されます。サーバーへの非同期呼び出し。これら 2 つの使いやすい機能を使用して、シンプルなチャット アプリケーションを作成します。このアプリケーションは、UI として機能するいくつかの ASP ページ、クライアント機能を実装する JavaScript、および SQL Server 2000 のビジネス ロジックを完成させる T-SQL で構成されます。
クライアントとサーバーは XML を使用して通信します。 Web サーバーがメッセージ チャンクを受信すると、そのメッセージ チャンクは SQL Server のタイムスタンプ付き MESSAGES テーブルに追加されます。クライアントは、事前に定義された時間間隔に基づいて、最後にサーバーに情報を要求してからデータベースに追加されたメッセージのリストやオンライン ユーザーのリストなどの更新情報をサーバーに要求します。
クライアントは XMLHTTP オブジェクト経由で 7e799be3545522a0b5d454493d321d80 をサーバーに送信します。アクションは、メッセージとユーザー リストを更新するか、新しいメッセージを送信するリクエストです。これらのアクションは、ACTIONS というテーブルに保存されます。サーバーは、対応するリクエストに応答するか、新しいメッセージを受け入れて、それを MESSAGES テーブルに追加します。
サーバーがメッセージリクエストに応答すると、最後のリクエスト以降のすべての新しいメッセージのリストが返されます。顧客アクティビティを追跡するには、顧客アクティビティの日時を含む ACTIVITY テーブルを使用します。顧客の ID は、わかりやすい名前のテーブル 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 を公開します。このメソッドの最初のパラメータはストアド プロシージャの名前で、2 番目のパラメータはパラメータ配列の配列です。パラメーター配列は、(paraName、paramType、paramLength、paramValue) 形式の単純な配列です。 paramType は、ADO パラメータ タイプ列挙体の 1 つです。 ASP ページは、アクションの受け入れと応答の作成を担当します。これを HandleAction.asp と呼びます。
チャット ページにはチャット メッセージを表示する領域が含まれます。この領域は DIV に含まれる TABLE です。この TABLE は、xmlMessages XML データ アイランドにバインドされています。別の領域には現在のユーザーが表示されます。この領域も DIV に含まれる TABLE であり、xmlUsers XML データ アイランドにバインドされています。ユーザーがメッセージを入力するための TEXTAREA もあります。
上記は、IE と SQL2k を使用した XML チャット プログラムの開発の概要です。その他の関連コンテンツについては、PHP 中国語 Web サイト (www.php.cn) に注目してください。