Pentru a trimite un mesaj privat exclusiv clientului care a emis cererea sau pentru a adăuga respectivul socket într-o cameră virtuală (room), ai nevoie de instanța fizică a socket-ului.
Decoratorul @ConnectedSocket() injectează obiectul Socket corespunzător conexiunii active din care a parvenit mesajul.
Exemplu: Alăturare într-o cameră tematică cu client.join()
import { WebSocketGateway, SubscribeMessage, MessageBody, ConnectedSocket } from '@nestjs/websockets';
import { Socket } from 'socket.io';
@WebSocketGateway()
export class RoomGateway {
@SubscribeMessage('joinRoom')
handleJoinRoom(
@MessageBody('roomName') roomName: string,
@ConnectedSocket() client: Socket,
) {
client.join(roomName);
client.emit('roomJoined', `Te-ai alăturat camerei: ${roomName}`);
}
}
Întrebări & Exemple de Cod:
Identificarea Clientului cu @ConnectedSocket()Ai o nelămurire despre utilizarea comenzii
Identificarea Clientului cu @ConnectedSocket()sau ai descoperit un truc / fragment de cod util? Distribuie-l cu ceilalți programatori!Fii primul care pune o întrebare sau distribuie un fragment de cod / prompt!
Nu au fost adăugate încă întrebări sau exemple de cod pentru această pagină. Dacă ai întâlnit o problemă sau ai un snippet util, adaugă-l mai jos pentru a-i ajuta pe ceilalți.