Erstellen eines Angular-Projekts
Zuerst erstellen wir ein neues Angular-Projekt mit dem Befehl ng new socket-demo.
ng new socket-demo
Dadurch wird ein neues Verzeichnis mit dem Namen socket-demo erstellt, das das Projekt enthält.
Installieren des ngx-socket-io-Pakets
Als nächstes installieren wir das ngx-socket-io-Paket, das die Socket.IO-Bibliothek für Angular bereitstellt.
npm install ngx-socket-io --save
Konfigurieren der Socket.IO-Module
Um Socket.IO in unserem Projekt zu verwenden, müssen wir das SocketIoModule und das HttpClientModule in die AppModule importieren.
import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { AppComponent } from './app.component';
import { SocketIoModule } from 'ngx-socket-io';
import { HttpClientModule } from '@angular/common/http';
@NgModule({
declarations: [
AppComponent
],
imports: [
BrowserModule,
SocketIoModule.forRoot(),
HttpClientModule
],
providers: [],
bootstrap: [AppComponent]
})
export class AppModule { }
Implementieren der Socket-Methoden
In unserem Beispiel verwenden wir die folgenden Socket-Methoden:
- connect(): Verbindet den Client mit dem Socket-Server.
- getState(): Ruft den aktuellen Zustand des Socket-Servers ab.
- emit(): Emitiert ein Event an den Socket-Server.
import { Component, OnInit } from '@angular/core';
import { Socket } from 'ngx-socket-io';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
export class AppComponent implements OnInit {
socket: Socket;
constructor(private socketService: Socket) {}
ngOnInit() {
this.socket = this.socketService.connect();
}
connect() {
this.socket.connect();
}
getState() {
return this.socket.getState();
}
emit() {
this.socket.emit('my-event', {
data: 'Hello, world!'
});
}
}
Implementieren des HTML- und CSS-Codes
In unserem Beispiel verwenden wir den folgenden HTML- und CSS-Code, um die Socket-Methoden zu verwenden.
HTML
<h1>Socket.IO Demo</h1>
<button (click)="connect()">Connect</button>
<p>{{getState()}}</p>
<button (click)="emit()">Emit</button>
!!!Verwende Code mit Vorsicht. Weitere Informationen!!!
CSS
h1 {
font-size: 24px;
}
button {
margin-bottom: 10px;
}
Verwende Code mit Vorsicht. Weitere Informationen
Ausführen des Projekts
Um das Projekt auszuführen, verwenden wir den Befehl ng serve.
ng serve
Dadurch wird das Projekt auf http://localhost:4200 gestartet.
Ausgabe
Wenn wir das Projekt öffnen, sehen wir den folgenden Text:
Socket.IO Demo
Connect
Wenn wir auf die Schaltfläche "Connect" klicken, wird der Client mit dem Socket-Server verbunden.
Socket.IO Demo
Connected
Wenn wir auf die Schaltfläche "Get State" klicken, wird der aktuelle Zustand des Socket-Servers abgerufen.
Socket.IO Demo
Connected
{
connected: true
}
Wenn wir auf die Schaltfläche "Emit" klicken, wird ein Event an den Socket-Server emittiert.
Socket.IO Demo
Connected
{
connected: true
}
Hello, world!
Erweiterung des Beispiels
In diesem Beispiel haben wir nur die grundlegenden Socket-Methoden implementiert. Um das Beispiel zu erweitern, können wir folgende Dinge tun:
Erweiterte Socket-Methoden implementieren: Neben den grundlegenden Socket
Quellen