Este conteúdo foi traduzido por máquina para sua conveniência e a Huawei Cloud não pode garantir que o conteúdo foi traduzido com precisão. Para exibir o conteúdo original, use o link no canto superior direito para mudar para a página em inglês.
Central de ajuda/ Cloud Container Engine/ Perguntas frequentes/ Redes/ Falha na rede/ O que fazer se o erro de Java "Connection reset by peer" for relatado durante a verificação de integridade do ELB da camada 4
Atualizado em 2025-05-23 GMT+08:00

O que fazer se o erro de Java "Connection reset by peer" for relatado durante a verificação de integridade do ELB da camada 4

Informações completas do erro

java.io.IOException: Connection reset by peer
at sun.nio.ch.FileDispatcherImpl.read0(Native Method)
at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:39)
at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223)
at sun.nio.ch.IOUtil.read(IOUtil.java:197)
at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:380)
at com.wanyu.smarthome.gateway.EquipmentSocketServer.handleReadEx(EquipmentSocketServer.java:245)
at com.wanyu.smarthome.gateway.EquipmentSocketServer.run(EquipmentSocketServer.java:115)

Resultados da análise

Um servidor de soquete é estabelecido usando Java Non-blocking I/O (NIO). Quando o cliente é desligado inesperadamente, em vez de enviar uma notificação especificada para instruir o servidor a sair, um erro é relatado.

Processo de verificação de integridade do TCP

  1. O nó do ELB que executa as verificações de integridade envia um pacote SYN ao servidor back-end (endereço IP privado+porta de verificação de integridade) com base na configuração de verificação de integridade.
  2. Depois de receber o pacote, o servidor back-end retorna um pacote SYN-ACK sobre sua porta.
  3. Se o nó ELB não recebe o pacote SYN-ACK dentro da duração do tempo limite, o servidor back-end é declarado não íntegro. Em seguida, o nó do ELB envia um pacote RST para o servidor back-end para encerrar a conexão TCP.
  4. Se o nó do ELB receber o pacote SYN-ACK do servidor back-end dentro da duração do tempo limite, ele enviará um pacote ACK para o servidor back-end e declarará que o servidor back-end está íntegro. Em seguida, o nó do ELB envia um pacote RST para o servidor back-end para encerrar a conexão TCP.

Nota

Após um handshake TCP normal de três vias, haverá transferência de dados. No entanto, um pacote RST será enviado para encerrar a conexão TCP durante a verificação de integridade. As aplicações no servidor back-end podem determinar um erro de conexão e relatar uma mensagem, por exemplo, "Connection reset by peer".

Este erro é justificado e inevitável. Você pode ignorá-lo.