Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

Return net.ErrClosed from Read methods when connection is closed by us

Abierto
#447 6 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
3/5
Tiempo estimado
1-2 días
Aptitud para principiantes
30/100
Tipo de issue
Error
Claridad
Necesita aclaración
Estado de actividad
Estancado
Stack tecnológico
go
Área
networking

Línea de trabajo

Empieza siguiendo las llamadas a Read, CloseRead y Close que se muestran en el informe y, a continuación, inspecciona cómo se informa a los llamadores de una conexión cerrada localmente. Confirma el comportamiento deseado a partir del título del issue: los métodos Read deben devolver net.ErrClosed cuando esta biblioteca cierre la conexión, con cobertura para la secuencia de lectura y cierre demostrada.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

Whenever I close the connection I get this error and the server doesn't respond. Can you please help me here

My reader function;

func WsReader(log *logger.LoggerEvent, requestCtx context.Context, wsConn *_websocket.Conn, requestId uuid.UUID, userId int32) {
	for {
		_, buff, err := wsConn.Read(requestCtx)
		if err != nil {
			if err != io.EOF {
				log.Errorf(`Failed to read the data : ERROR : %s : CODE : %s`, err, _websocket.CloseStatus(err))
			}
			break
		}

		if len(buff) == 0 {
			break
		}

		data := eventSchemaHandler.GetRootAsEventWrapper(buff, 0)
		log.Infof("Event received : %s : USER_ID : %d", data.Event(), userId)
		unionTable := new(flatbuffers.Table)
		data.Payload(unionTable)
		event.SerializeEvents(log, wsConn, unionTable, requestId, string(data.Event()), string(data.ClubId()))
	}
}

My Connection Close function:

func CloseSocketConnection(wsConn *_websocket.Conn, clubId string, statusCode _websocket.StatusCode, msg string) {
	wsConn.CloseRead(context.Background())
	wsConn.Close(statusCode, msg)
} 
Lenguaje dominante
Go
Estrellas
5.5k
Forks
377
Métricas de merge de PR
Sin PR fusionados en 30 d

Guía de contribución

No hay ninguna guía de contribución indexada para este repositorio

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de coder/websocket

Todos los issues de coder/websocket

Issues similares

Más issues de Go

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.