Node+Socket realisiert einfache Chatroom-Funktion

Node+Socket realisiert einfache Chatroom-Funktion

In diesem Artikel wird der spezifische Code von Node+Socket zur Implementierung eines einfachen Chatrooms zu Ihrer Information bereitgestellt. Der spezifische Inhalt ist wie folgt

Server

const net = erfordern('net')
const server = net.createServer()

//Benutzerliste let clients = []

//Auf Verbindungen warten server.on('connection',client=>{
    client.on('Daten',(Block)=>{
        let data = chunk.toString()
        wenn(data.match(/login:(.*)/)){
            let name = data.match(/login:(.*)/)[1]
            Clientname = Name
            Clients.push(Client)
            console.log(`Benutzer ${name} ist online`)
        }anders{
            für (const Client von Clients) {
                wenn(client.name!==JSON.parse(data).name){
                    client.write(Daten)
                }

            }
        }
    })

    client.on('schließen',()=>{
        console.log(`Benutzer ${client.name} ist offline`)
    })

    client.on('Fehler',()=>{
        console.log(`Für Benutzer ${client.name} ist ein Fehler aufgetreten`)
    })

})

server.on('Fehler',(err)=>{
    console.log('Serverfehler',err)
})

server.on('schließen',()=>{
    console.log('Server herunterfahren')
})

server.listen(9527,()=>{
    console.log("Server gestartet")
})

Kunde

const net = erfordern('net')
const readline = erforderlich('readline')
//Eingabeinformationen lesen const rl = readline.createInterface({
    Eingabe: process.stdin,
    Ausgabe: process.stdout
});

//Name const name = Prozess.argv[2]
//Mit dem Server verbinden const client = net.createConnection({port:9527},()=>{
    console.log(Name+'Mit Server verbinden');
    client.write(`login:${name}`)
    Clientname = Name
    //Starten Sie das Senden von Informationen sendMsg(client)
})

client.on('Daten', (Block) => {

    let Daten = JSON.parse(chunk.toString())
    wenn(Daten){
        Konsole.log(`[${data.name}] : ${data.msg}`)
    }
});
client.on('Ende', () => {
    console.log('Verbindung zum Server getrennt');
});
client.on('Fehler', () => {
    console.log('Serverfehler');
});

//Rekursive Ausgabefunktion sendMsg(client){

    rl.question('',(Zeile)=>{
        Client.schreiben(JSON.stringify({
            Name:Client.Name,
            msg:Zeile
        }))
        sendMsg(Client)
    })
}

Demo

Server

Kunde 1

Kunde 2

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird.

Das könnte Sie auch interessieren:
  • NodeJS implementiert eine Chatroom-Funktion
  • Schritte zum Erstellen eines Chatrooms für mehrere Personen mit nodejs+express
  • Nodejs realisiert eine einfache Chatroom-Funktion für mehrere Räume
  • Implementierung eines Mehrpersonen-Chatrooms basierend auf Nodejs mit socket.io
  • Node.js WebSocket verwendet die Socket.io-Bibliothek, um einen Echtzeit-Chatroom zu implementieren
  • So verwenden Sie das Node.js Net-Modul, um einen Befehlszeilen-Chatroom für mehrere Personen zu realisieren
  • Verwenden von Sockets zum Erstellen privater und öffentlicher Chatrooms in Node.js
  • AngularJS+Node.js zur Implementierung eines Online-Chatrooms
  • Verwenden Sie Angular, Nodejs und socket.io, um Chatrooms und Mehrpersonen-Chatrooms zu erstellen
  • Eine einfache Chatroom-Funktion zum Teilen, implementiert durch nodejs

<<:  MySql 8.0.16-win64 Installations-Tutorial

>>:  Implementierung eines Docker-Cross-Host-Netzwerks (manuell)

Artikel empfehlen

Textmodus im IE! Einführung in die Rolle von DOCTYPE

Nachdem das im vorherigen Artikel besprochene Prob...

mysql 5.7.11 winx64 anfängliche Passwortänderung

Laden Sie die komprimierte Version von MySQL-5.7....

Vue ruft die PC-Kamera auf, um die Fotofunktion zu realisieren

In diesem Artikelbeispiel wird der spezifische Co...

Beispiel zur Erhöhung des Swap-Speichers im CentOS7-System

Vorwort Swap ist eine spezielle Datei (oder Parti...

Lösung zur Konvertierung in Inline-Styles in CSS (css-inline)

Sprechen Sie über die Szene E-Mail senden Einbett...

Schritte und Fallstricke beim Upgrade von Linux MySQL 5.5 auf MySQL 5.7

Inhaltsverzeichnis Linux MySQL 5.5 auf MySQL 5.7 ...

So richten Sie ein Bereitstellungsprojekt unter einem Linux-System ein

1. Ändern Sie die Firewall-Einstellungen und öffn...

So simulieren Sie eine Aufzählung mit JS

Vorwort Im aktuellen JavaScript gibt es kein Konz...

JavaScript implementiert die Klick-Umschaltfunktion

In diesem Artikelbeispiel wird der spezifische Ja...

Beispielcode für die benutzerdefinierte Scroll-Ansicht des WeChat-Applets

Miniprogramm Benutzerdefinierte Scroll-View-Bildl...

Einführung in die Verwendung des http-equiv-Attributs im Meta-Tag

Meta ist ein Hilfstag im Kopfbereich der HTML-Spra...