La méthode d'implémentation de la salle de chat dans la page Web traditionnelle est d'obtenir les informations de chat pertinentes en demandant au serveur d'obtenir les informations de chat pertinentes toutes les deux fois. Étant donné que le WebSocket permet à la connexion de conserver la connexion pour l'interaction des données après la connexion du serveur, le serveur peut envoyer activement les données correspondantes au client. Pour le traitement HTML5, il vous suffit de traiter les données de réception dans l'événement de réception du WebSocket une fois la connexion terminée.
FonctionUne salle de chat simple a les fonctions suivantes:
1) EnregistrementInscrivez-vous pour gérer plusieurs choses, à savoir une fois l'inscription terminée, pour obtenir toute la liste d'utilisateurs du serveur actuel, et le service enverra les utilisateurs actuellement enregistrés à d'autres utilisateurs en ligne.
2) Envoyer des informationsLe serveur envoie le message actuellement reçu à d'autres utilisateurs en ligne
3) sortirLe serveur informera les autres utilisateurs qui ont déconnecté les utilisateurs déconnectés
L'aperçu de la fonction de la salle de chat est le suivant:
C # Code côté serviceLe code sur le serveur n'a besoin que de définir plusieurs méthodes pour plusieurs fonctions, à savoir l'enregistrement, l'obtention d'autres utilisateurs et l'envoi d'informations. Le code spécifique est le suivant:
/// <summary> /// Copyright © Henryfan 2012 /// Courriel: [email protected] /// homepage: http://www.ikende.com /// Createtime: 2012/12/7 21:45 21:45: 25 /// </summary> Handler de classe {public long Register (nom de chaîne) {TcpChannel Channel = MethodContext.current.Channel; , Nom); (); Canal. .Clientid;} public ilist <serving> list () {tcpchannel canal = méthodyConted.current.Channel; Canal) result.add (utilisateur) item.tag);} Retour Résultat;} public void Say (String Content) {TcpChannel Channel = MethodContext.current.Chanel; ; .data = st; foreach (élément tcpchaannel dans channel.servernelines ()) {item.send (msg);}}}
Seul le code simple ci-dessus est requis pour compléter la fonction du serveur de salle de chat.
Protéger Override void ovedisposed (Object Sendor, ChannelDisposDeventArgs e) {Base.ondisposed (Sender, E); Nom. this.server.getOnlines ()) {if (item! = e.channel) item.send (msg);}}}}Le code côté service du chat est terminé.
Code javascriptLa première chose à faire pour le code HTML5 est de se connecter au serveur.
Fonction connect () {canal = new tcpchaannel (); (result.status == null || = Fonction (evt) {$ ('#dlgconnect'). ) {var item = getUser (result.data); $ (item) .appndto ($ ('#lstonlines'));} else if (result.type == ') {$ (' #User_ '+ result.data .id) .reMove ();} else if (result.type == 'Say') {addSayItem (result.data);} else {}} (('#host'). Val ());}Différents messages sont gérés via le nombre de pools de récupération de la réception. boîte. L'aide de l'aide de JQuery est devenue très simple.
Processus d'appel d'enregistrement de l'utilisateur:
Var callgister = {url: 'handler.register', paramètres: {name: ''}}; valeur '); if (isValid) {connect ();} return false;});}Obtenez le processus de liste d'utilisateurs en ligne:
var callist = {url: 'handler.list', paramètres: {}}; (var i = 0; i <result.data.length; i ++) {var item = getUser (result.data [i]); );}Envoyer le processus de message:
var appelow = {url: 'handler.say', paramètres: {contenu:} function say () {callay.Parameters.content = meditor.html (); $ ('# Contenu1') [0] .focus ();} RésumerUne fois le code encapsulé, le traitement de WebSocket devient très simple.
Ce qui précède est tout le contenu de cet article.