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)
1. Was ist SQL-Injection? SQL-Injection ist eine ...
Seine Funktion besteht darin, einen globalen Stil ...
DOCTYPE-DEKLARATION: Oben auf jeder Seite, die Sie...
Was ist hohe Parallelität? Die standardmäßigen Li...
Seitenbeschreibung: Hauptseite: Name —> shish...
MySQL verarbeitet doppelte Daten Einige MySQL-Tab...
Standardmäßig ist der Tabellentitel horizontal ze...
MySQL 5.0 ist aufgrund seiner wenigen „erweiterte...
Der Container wurde bereits erstellt. So erfahren...
Beim Arbeiten mit Dateien im Linux-Terminal möcht...
Deinstallieren Sie die alte MySQL-Version (übersp...
Sicht: Ansichten in MySQL haben viele Ähnlichkeit...
Windows-Installation mysql-5.7.17-winx64.zip Meth...
Inhaltsverzeichnis Einführung Vier Merkmale von T...
In diesem Artikel wird die spezifische Methode zu...