Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

140
Visualizações
¿Por qué la mayoría de los serializadores usan una secuencia en lugar de una matriz de bytes?

Actualmente estoy trabajando en un servidor de socket y me preguntaba ¿Por qué a los serializadores les gusta

  • XmlSerializer
  • Formateador binario
  • Protobuf-net
  • DataContractSerializerDataContractSerializer

¿Todos requieren unStream en lugar de una matriz de bytes?

about 4 years ago · Santiago Trujillo
3 Respostas
Responde à pergunta

0

Significa que puede transmitir a destinos arbitrarios en lugar de solo a la memoria.

Si desea escribir algo en un archivo, ¿por qué querría crear primero una copia completa en la memoria? En algunos casos, eso podría hacer que use mucha memoria adicional, lo que posiblemente provoque una falla.

Si desea crear una matriz de bytes, simplemente use un MemoryStream :

 var memoryStream = new MemoryStream(); serializer.Write(foo, memoryStream); // Or whatever you're using var bytes = memoryStream.ToArray();

Entonces, con una abstracción de "usa flujos", puede trabajar fácilmente con la memoria, pero si la abstracción es "usa una matriz de bytes", se ve obligado a trabajar con la memoria incluso si no quiere.

about 4 years ago · Santiago Trujillo Relatório

0

Puede hacer fácilmente una transmisión sobre una matriz de bytes... pero una matriz de bytes está inherentemente restringida en tamaño, donde una transmisión es abierta... tan grande como lo necesite. Algunas serializaciones pueden ser bastante enormes.

Editar : Además, si necesito implementar algún tipo de serialización, quiero hacerlo para la abstracción más básica y evitar tener que hacerlo en múltiples abstracciones. Stream sería mi elección, ya que hay implementaciones de flujo sobre muchas cosas: memoria, disco, red, etc. Como implementador, los obtengo "gratis".

about 4 years ago · Santiago Trujillo Relatório

0

si usa una byte array/ buffer , está trabajando temporalmente en la memoria y tiene un tamaño limitado

Si bien una transmisión es algo que le permite almacenar cosas en el disco, enviarlas a otras computadoras, como Internet, puerto serie, etc., las transmisiones a menudo usan búferes para optimizar la velocidad de transmisión.

Por lo tanto, la transmisión será útil si se trata de un archivo grande.

about 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda