Aún no tienes acceso a esta clase

Crea una cuenta y continúa viendo este curso

Struct de Hub para conexiones

22/26
Recursos

Aportes 5

Preguntas 1

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesión.

Creo que para este ejercicio en particular, un array no es la estructura de datos mas apropiada. Siendo que el caso de uso de guardar todos los clientes en una estructura de datos es poder hacer broadcast, creo que un mapa nos ayudaria más. Podemos recorrer el mapa al igual que el array y, agregar y eliminar registros es mucho más eficiente y rápido que con un slice. Insertar y eliminar en un mapa es O(1) amortizado, mientras que Copy es O(n)

El audio de esta clase no esta bien

El audio se encuentra desfasado

El audio de la clase está desfasado, de todas formas se entiende perfectamente en cuanto aparece el código porque la imagen del profesor queda super pequeña, de cualquier forma estaría genial que lo corrigieran.

func (hub *Hub) onDisconnect(client *Client) {
	log.Println("Client Disonnected", client.socket.RemoteAddr())
	// Remember to prevent race conditions
	client.socket.Close()
	hub.mutex.Lock()
	defer hub.mutex.Unlock()
	i := -1
        // itera hasta que la id del cliente sea igual que el client.id
	for j, c := range hub.clients {
		if c.id == client.id {
			i = j
		}
	}
       // en el punto en el que las id son iguales, creamos un array que lo excluya
	copy(hub.clients[i:], hub.clients[i+1:])
	hub.clients[len(hub.clients)-1] = nil
	hub.clients = hub.clients[:len(hub.clients)-1]
}

Deben arreglar el audio, no esta sincronizado correctamente. ya van varios días así y nadie del equipo de platzi se anuncia por acá, pareciera que no les interesa, espero equivocarme.