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)
Dieser Artikel veranschaulicht anhand von Beispie...
CPU-Last und CPU-Auslastung Beides kann bis zu ei...
1. Schauen wir uns zunächst eine Anweisung zur Ta...
Mithilfe von Nginx-Protokollen lassen sich Benutz...
Vorwort Dieser Artikel stellt hauptsächlich den r...
Kürzlich wurde die neue Anforderung „Front-End-Ca...
Ergebnisse erzielen Implementierungscode html <...
Mobile Mobile Seiten müssen nur mit Chrome und Sa...
Inhaltsverzeichnis Vererbung und Prototypenkette ...
Dieser Artikel wurde unter Bezugnahme auf die off...
Inhaltsverzeichnis Benutzerdefiniertes Docker-Net...
Vorwort Derzeit löst das Front-End domänenübergre...
Kein Lazy Loading verwenden importiere Vue von „v...
Beim Bereitstellen des Projekts auf Centos ist mi...
Inhaltsverzeichnis 1. Bedingte Zugriffsattribute ...