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 Serverconst 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") }) Kundeconst 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) }) } DemoServer 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:
|
<<: MySql 8.0.16-win64 Installations-Tutorial
>>: Implementierung eines Docker-Cross-Host-Netzwerks (manuell)
Nachdem das im vorherigen Artikel besprochene Prob...
Laden Sie die komprimierte Version von MySQL-5.7....
In diesem Artikelbeispiel wird der spezifische Co...
Vorwort Swap ist eine spezielle Datei (oder Parti...
Sprechen Sie über die Szene E-Mail senden Einbett...
Inhaltsverzeichnis Linux MySQL 5.5 auf MySQL 5.7 ...
Problembeschreibung: Wenn die Anzahl der asynchro...
1. Ändern Sie die Firewall-Einstellungen und öffn...
Vorwort Im aktuellen JavaScript gibt es kein Konz...
In diesem Artikelbeispiel wird der spezifische Ja...
Beim Erlernen von Mybatis ist mir ein Fehler aufg...
Einführung Die aktuellen Anforderungen des Untern...
Es ist sehr einfach, eine Scala-Umgebung in Linux...
Miniprogramm Benutzerdefinierte Scroll-View-Bildl...
Meta ist ein Hilfstag im Kopfbereich der HTML-Spra...