Heim  >  Artikel  >  Backend-Entwicklung  >  Überblick über die Entwicklung eines XML-Chat-Programms mit IE und SQL2k

Überblick über die Entwicklung eines XML-Chat-Programms mit IE und SQL2k

黄舟
黄舟Original
2017-03-03 17:04:351813Durchsuche

Der jahrelange Wettbewerb zwischen verschiedenen Browsern hat zur Entwicklung vieler Tools geführt, die Entwicklern dabei helfen, Aufgaben zu erledigen, die zuvor schwierig zu erledigen waren. Jetzt können Sie mit nur einem kleinen Skript eine Anwendung erstellen, die Daten an ein Benutzersteuerelement bindet, sodass es über ein eingebettetes Proxy-Steuerelement mit dem Server kommuniziert.

In Internet Explorer (IE) gehören zu diesen Dingen XML-Dateninseln und xmlhttp-Objekte, die zum Binden von Daten an Formularelemente verwendet werden, und XMLHTTP-Objekte, die zum Navigieren zu anderen Seiten innerhalb der aktuellen Seite verwendet werden. Erstellen Sie synchrone und asynchrone Aufrufe an den Server. Ich werde diese beiden benutzerfreundlichen Funktionen verwenden, um eine einfache Chat-Anwendung zu erstellen, die aus einigen ASP-Seiten besteht, die als Benutzeroberfläche fungieren, JavaScript, das Clientfunktionen implementiert, und T-SQL, das die Geschäftslogik in SQL Server 2000 vervollständigt.

Client und Server kommunizieren über XML. Nachdem der Webserver einen Nachrichtenblock empfangen hat, wird der Nachrichtenblock an eine zeitgestempelte MESSAGES-Tabelle in SQL Server angehängt. Basierend auf einem vordefinierten Zeitintervall fordert der Client aktualisierte Informationen vom Server an, einschließlich einer Liste von Nachrichten und einer Liste von Online-Benutzern, die seit der letzten Informationsanforderung vom Server an die Datenbank angehängt wurden.

Der Client sendet eine 7e799be3545522a0b5d454493d321d80 über ein XMLHTTP-Objekt an den Server. Die Aktion ist entweder eine Aufforderung, die Nachrichten- und Benutzerliste zu aktualisieren oder eine neue Nachricht zu senden. Diese Aktionen werden in einer Tabelle namens ACTIONS gespeichert. Der Server antwortet auf die entsprechende Anfrage oder akzeptiert eine neue Nachricht und hängt sie an die Tabelle MESSAGES an.

Wenn der Server auf eine Nachrichtenanfrage antwortet, gibt er eine Liste aller neuen Nachrichten seit der letzten Anfrage zurück. Um die Kundenaktivität zu verfolgen, verwende ich eine ACTIVITY-Tabelle, die das Datum und die Uhrzeit der Kundenaktivität enthält. Die Identität des Kunden wird in der Tabelle HANDLES gespeichert, die einen intuitiven Namen hat.

Das Folgende ist das Skript zum Erstellen der Tabelle:

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]

Alle Datenoperationen werden durch gespeicherte Prozeduren abgeschlossen. Die gesamte Datenschnittstelle erfolgt über ein generisches COM, das als Verbindung zwischen dem Webserver und SQL Server 2000 fungiert. Das COM-Objekt stellt eine Methode RunSPReturnStream bereit, die ich verwenden möchte. Der erste Parameter dieser Methode ist der Name der gespeicherten Prozedur und der zweite Parameter ist ein Array von Parameterarrays. Das Parameterarray ist ein einfaches Array im folgenden Format: (paraName, paramType, paramLength, paramValue). paramType ist eine der ADO-Parametertyp-Enumerationen. Eine ASP-Seite ist für das Annehmen von Aktionen und das Erstellen von Antworten verantwortlich. Ich nenne sie HandleAction.asp.

Die Chat-Seite enthält einen Bereich zum Anzeigen von Chat-Nachrichten; dieser Bereich ist eine TABELLE, die in einem DIV enthalten ist. Diese TABELLE ist an eine XML-Dateninsel von xmlMessages gebunden. Ein weiterer Bereich zeigt den aktuellen Benutzer an; dieser Bereich ist ebenfalls eine TABLE, die in einem DIV enthalten ist, das an eine xmlUsers-XML-Dateninsel gebunden ist. Es gibt auch einen TEXTBEREICH, in dem Benutzer Nachrichten eingeben können.

Das Obige ist ein Überblick über die Entwicklung eines XML-Chat-Programms mit IE und SQL2k. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website (www.php.cn).


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn