Des années de concurrence entre les différents navigateurs ont abouti à la création de nombreux outils pour aider les développeurs à accomplir des tâches qui étaient auparavant difficiles à réaliser. Désormais, avec juste un petit script, vous pouvez créer une application qui lie les données à un contrôle utilisateur afin qu'elles communiquent avec le serveur via un contrôle de type proxy intégré.
Dans Internet Explorer (IE), ces éléments incluent les îlots de données XML et les objets XMLhttp sont utilisés pour lier les données aux éléments de formulaire, et les objets XMLHTTP sont utilisés pour naviguer vers d'autres pages de la page actuelle. Créez des appels synchrones et asynchrones vers le serveur. J'utiliserai ces deux fonctionnalités faciles à utiliser pour créer une application de discussion simple, composée de quelques pages asp faisant office d'interface utilisateur, de javaScript qui implémente les fonctions client et de T-SQL qui complète la logique métier dans SQL Server 2000.
Client et serveur communiquent via XML. Une fois que le serveur Web a reçu un fragment de message, celui-ci est ajouté à une table MESSAGES horodatée dans SQL Server. Sur la base d'un intervalle de temps prédéfini, le client demandera au serveur des informations mises à jour, y compris une liste de messages et une liste d'utilisateurs en ligne ajoutées à la base de données depuis la dernière fois qu'il a demandé des informations au serveur.
Le client enverra une
Lorsque le serveur répond à une demande de message, il renvoie une liste de tous les nouveaux messages depuis la dernière demande. Pour suivre l'activité du client, j'utilise une table ACTIVITY qui contient la date/heure de l'activité du client. L'identité du client est stockée dans la table HANDLES, qui a un nom intuitif.
Voici le script pour créer la table :
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]
Toutes les opérations sur les données seront effectuées via des procédures stockées. Tous les interfaçages de données se feront via un COM générique qui fait office de liaison entre le serveur Web et SQL Server 2000. L'objet COM expose une méthode RunSPReturnStream que je souhaite utiliser. Le premier paramètre de cette méthode est le nom de la procédure stockée et le deuxième paramètre est un tableau de tableaux de paramètres. Le tableau de paramètres est un tableau simple au format suivant : (paraName, paramType, paramLength, paramValue). paramType est l’une des énumérations de types de paramètres ADO. Une page ASP est chargée d'accepter les actions et de créer des réponses. Je l'appellerai HandleAction.asp.
La page de discussion contiendra une zone pour afficher les messages de discussion ; cette zone est une TABLE contenue dans un DIV. Cette TABLE est liée à un îlot de données XML xmlMessages. Une autre zone affiche l'utilisateur actuel ; cette zone est également une TABLE contenue dans un DIV, qui est lié à un îlot de données XML xmlUsers. Il existe également une zone TEXTAREA permettant aux utilisateurs de saisir des messages.
Ce qui précède est un aperçu du développement d'un programme de chat XML avec IE et SQL2k. Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois (www.php.cn) !