Estouro de Sockets de Domínio UNIX?

2

Quando você cria um soquete UNIX usando socat e envia dados para ele, mas não tem outra instância socat conectando-se a esse soquete, o que acontecerá então?

O que acontece se você gravar grandes quantidades de dados em um soquete UNIX e nunca lê-lo? Existe um buffer que transborda? É em anel?

    
por Max Ried 15.05.2016 / 21:29

1 resposta

3

Os soquetes Unix são confiáveis. Se o leitor não ler, o escritor bloqueia. Se o soquete for um soquete de datagrama, cada gravação será emparelhada com uma leitura. Se o soquete é um soquete de fluxo, o kernel pode armazenar alguns bytes entre o gravador e o leitor, mas quando o buffer está cheio, o gravador irá bloquear. Os dados nunca são descartados, exceto os dados armazenados em buffer se o leitor fechar a conexão antes de ler o buffer.

    
por 17.05.2016 / 01:50