Mein erster Chatraum wurde in ASP 3.0 geschrieben. Das Programm ist relativ einfach. Zu diesem Zeitpunkt muss ein echter Chatraum erstellt werden, Java -Applet oder ActiveX -Steuerelement müssen verwendet werden. HTTP -Basis -Charträume standen den gleichen Fragen wie mein erster Chatraum. Zu diesen Problemen gehören das blinkende Phänomen des Bildschirms, das durch die Aktualisierung der Seite verursacht wird. Aber dieses Problem wurde von Ajax gelöst. Ajax ist eine Kombination aus JavaScript- und XML -asynchronen Aufrufen. Verwenden Sie nun einen JavaScript -Code auf dem Server, um einen echten Chatraum zu erreichen. In diesem Artikel wird Ajax nicht vorgestellt und geht davon aus, dass Sie ein gewisses Verständnis für die Verwendung von Ajax und ASP.NET haben. Stellen Sie einfach vor, wie Sie die AJAX -Technologie verwenden, um einen grundlegenden Chatraum zu erstellen.
Routine
Dies ist ein einzelner Chatraum eines Multi -Benutzer. Es kann grundlegende Chat -Funktionen erzielen und unterstützt einige Befehlszeilen wie: /admin Clear, um den Chat -Verlauf zu löschen, /Nick [Name], um den Spitznamen des Benutzers zu ändern. Das Programm veranschaulicht dieses Programm, um alle Chat -Informationen und Benutzerinformationen mit einer Chatine -Klasse zu verarbeiten.
Hashtable -Benutzer;
StringCollection Chat;
Deklariert eine globale ChatEngine -Instanz in global.asax.cs und teilen Sie alle Benutzer im Chatraum:
Public static Uchat.Chatngine.ichatngine Motor = new Uchat.chatngine.chatengine ();
Es gibt auch eine JavaScript -Timer -Funktion, mit der globale Variablen und Seiteninformationen synchronisiert werden.
Funktion setTimers ()
{{{{
timeId = window.settimeout (updateAll (), aktualisiert);
}
Jeder Benutzer wird durch einen Benutzernamen und eine Richtlinie eindeutig identifiziert.
Public void adduser (String -ID, String -Benutzer)
{{{{
// Stellen Sie sicher, dass der Benutzername nicht allamy existiert
if (! Userexisten (Benutzer))
{{{{
// Benutzer der Benutzerliste hinzufügen
user.add (id, user);
// Zeigen Sie allen Benutzern eine Benachrichtigungsnachricht an
CHAT.ADD (this.makeServermessage (string.format (string.format (
Angeschlossen, Benutzer)));
}
}
Programmausführender Schnittstelle
Die Startseite zeigt einige grundlegende Informationen zur aktuellen Sitzung an, z. B. die Benutzernummer, die Größe des Chat -Verlaufs. Benutzer müssen einen Benutzernamen zur Verfügung stellen, um den Chatraum zu betreten. Klicken Sie auf die Schaltfläche Anmelden, um die folgende Funktion einzugeben:
Geschützte void Anmeldung (Objektabsender, EventArgs E)
{{{{
string user = txtUnername.text;
if (! validateNick (user)) return;
if (global.engine.userexist (Benutzer))
{{{{
LBLERRORMSG.TEXT = Ein Benutzer mit diesem +
Name Alream existiert, versuchen Sie es erneut.;
Zurückkehren;
}
Antwort.Redirect (server.aspx? Action = login & u = + user);
}
Nach einer einfachen Überprüfung wird der Benutzer über die Adduser -Funktion zu den Benutzerlisten hinzugefügt und dann die Chatroom -Seite Chat.aspx eingibt.
<Skript type = text/javaScript>
SniffbrowserType ();
// zeigt das Laden .. Bildschirm
showloadscreen ();
// Setzen Sie den JavaScript -Timeer und
// lädt die Benutzerliste und Nachrichten
setTimers ();
setfocus ('mytext');
</script>
Wenn der Benutzer einige Informationen und zurückgibt, werden die folgenden Funktionen aufgerufen:
<Eingabe type = text class = myText
ID = MyText Onedown = CapturerEneturn (Ereignis)>
// Erfassen Sie die Eingabetaste im Eingabefeld und die Postnachricht
Funktion Capturereturn (Ereignis)
{{{{
if (event.which || event.keycode)
{{{{
If ((Ereignis.Which == 13) || (Event.KeyCode == 13))
{{{{
postText ();
False zurückgeben;
}
anders {
Zurückkehren;
}
}
}
Funktion posttext ()
{{{{
RND ++;
// Textfeld zuerst löschen
Chatbox = getElement (mytext);
Chat = chatbox.Value;
Chatbox.Value =;
// Benutzerguid von der URL erhalten
userID = logation.search.substring (1, lokal.search.length);
// AJAX Server -URL konstruieren
url = 'server.aspx?
Encodeuricomponent (CHAT) + '& session =' + rnd;
// die Instanz erstellen und festlegen
// des angemessenen XMLHTTP -Anforderungsobjekts
Req = getajax ();
// Seite mit neuer Nachricht aktualisieren
Req.onReadyStatechange = function () {
if (req.readystate == 4 && req.status == 200) {{{{{{{{{{{{{{{{{{{{{{
UpdateAll ();
}
}
Req.open ('get', url, wahr);
Req.send (null);
}
Es gibt so viele, es gibt nichts Besonderes, Sie können den Quellcode sehen, es gibt viele Annotationsinformationen.
abschließend
Um einen Chatraum mit Java Applet zu erstellen, müssen Sie JVM auf dem Maschine des Benutzers installieren. Es gibt einige Sicherheitsprobleme bei der ActiveX -Kontrolle. Mit dem gerade eingeführten AJAX können Sie problemlos ein Chatroom -Programm basierend auf HTTP erstellen, bei dem Benutzer keine Software installieren müssen, und es ist einfach zu warten.