Pergunta

Estou enviando dados para um sistema extremamente antigo via TCP. Preciso enviar 2000 bytes em um pacote e preciso que ele não seja dividido (o que acontece quando escrevo 2000 bytes por meio de um soquete).

Embora, sim, eu não deveria ter que me preocupar com isso em um nível de aplicativo - de fato me preocupo com isso, porque não tenho outras opções no sistema mais antigo, tudo deve ser recebido em um único pacote.

Existe algo menos terrível do que chamar o NetCat?

Foi útil?

Solução

A menos que você esteja em um link com quadros jumbo o habitual MTU no Ethernet é 1500. subtrair IP (20 bytes) e TCP Cabeçalhos (pelo menos 20 bytes). Portanto, não há sorte com 2000 bytes em um único pacote.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top