Todavía soy relativamente nuevo en los sockets, y no he visto ninguna información sobre este tema.Sockets de Java: DataOutputStream o OutputStream?
escribir en un conector conectado, puede utilizar
socket.getOutputStream().write
o crear una nueva DataOutputStream
de la toma de OutputStream
y escribir en eso.
- ¿Qué se considera "buena práctica", utilizando un DataOutputStream o OutputStream? La mayoría de the examples Encuentro en Internet el uso de DataOutputStream (para enviar cadenas, como en un chat bidireccional).
- ¿Existen ventajas o desventajas en el uso de DataOutputStream sobre OutputStream?
- ¿Hay alguna diferencia en el rendimiento que se nota entre estos dos cuando, por ejemplo, el envío de archivos?
¿Qué sugeriría si desea crear una aplicación java independiente de la plataforma que pueda enviar archivos? – David
Incluso si los archivos solo contienen bytes sin procesar, aún puede enviarlos con DataOutputStream, por lo que elegiría DataOuputStream en todos los casos. – JVerstry
'DataOutputStream' only 'se asegura de que los datos estén formateados de forma independiente de la plataforma si usa las API adicionales que proporciona. Sus métodos 'write()' no tienen propiedades mágicas. Si solo los usa, (a) no hay diferencia de rendimiento, y (b) no tiene sentido utilizar 'DataOutputStream' en absoluto. Si está utilizando las API adicionales, no hay nada con qué comparar su rendimiento. Entonces la declaración sobre las diferencias de rendimiento básicamente no tiene sentido. – EJP