Receber por email
← Voltar para o catálogo

websocket

WebSocket implementation, connection management, scaling patterns, and real-time features.

1.4kestrelas
Atualizado há 4 meses

Ver no GitHub ↗ Licença: MIT

Como adicionar

/plugin marketplace add a5c-ai/babysitter

O comando exato pode variar conforme o repositório. Confira o README no GitHub.

Para o autor da skill

Cole no README do seu repo

Mostra que sua skill está catalogada na Skillteca, gera backlink e tráfego rastreável.

[![Skillteca](https://www.skillteca.com.br/api/badge/websocket-a5c-ai/svg)](https://www.skillteca.com.br/skills/websocket-a5c-ai)

Skills relacionadas

Ver todas de Automação →

Alerta por categoria

Receba novas skills de Automação toda segunda

1 email curto, só com as skills novas de Automação. 4 minutos de leitura, sem spam, cancela com 1 clique.

Você confirma o email no primeiro envio. Sem spam. Cancela com 1 clique.

Ler descrição completa

WebSocket Skill

Expert assistance for implementing WebSocket real-time communication.

Capabilities

  • Implement WebSocket servers
  • Handle connection lifecycle
  • Build pub/sub patterns
  • Scale with Redis adapter
  • Implement reconnection logic
  • Handle authentication

Usage

Invoke this skill when you need to:

  • Add real-time features
  • Build chat applications
  • Implement live updates
  • Handle bidirectional communication

Server Implementation

import { WebSocketServer, WebSocket } from 'ws';
import { createServer } from 'http';

const server = createServer();
const wss = new WebSocketServer({ server });

const clients = new Map<string, WebSocket>();

wss.on('connection', (ws, req) => {
  const userId = authenticateConnection(req);
  clients.set(userId, ws);

  ws.on('message', (data) => {
    const message = JSON.parse(data.toString());
    handleMessage(userId, message);
  });

  ws.on('close', () => {
    clients.delete(userId);
  });
});

function broadcast(message: object) {
  const data = JSON.stringify(message);
  clients.forEach((client) => {
    if (client.readyState === WebSocket.OPEN) {
      client.send(data);
    }
  });
}

Best Practices

  • Implement heartbeat/ping-pong
  • Handle reconnection gracefully
  • Use message queues for scaling
  • Authenticate connections

Target Processes

  • real-time-features
  • chat-application
  • live-updates
Compartilhar X LinkedIn