2008-09-18 89 views

Respuesta

3

Debe buscar en la serialización binaria y enviarla a través de un socket TCP.

Buena explicación sobre los diferentes tipos de serialización:

http://www.dotnetspider.com/resources/408-XML-serialization-Binary-serialization.aspx

buen manual sobre TCP cliente/servidor en C#:

http://www.codeproject.com/KB/IP/tcpclientserver.aspx

+0

El segundo enlace es de 2001, que era antiguo incluso cuando esta pregunta era reciente. No es mucho de un tutorial y es más una muestra de código. – YetAnotherRandomUser

0

Cómo sobre el uso de HTTP o FTP? Estaban hechos para esto.

Alex

0

No utilizaría HTTP o FTP, para un solo archivo es demasiada sobrecarga y demasiado para codificar, especialmente teniendo un servidor TCP simple ya hecho para usted en C#.

2

Esto depende de lo que quiera decir con la red: si está copiando en una red local, puede usar las operaciones de copia de archivos dentro de System.IO. Si desea enviar a servidores remotos lo hago usando servicios web. Comprimo matrices de bytes y las envío y descomprimo en el lado remoto. La matriz de bytes es muy fácil de volver a escribir en el disco utilizando flujos.

Sé que algunas personas prefieren bases de 64 cadenas en lugar del byte []. no estoy seguro de si importa

0

sockets puede ser la mejor ruta si estás solo tener que hacerlo a través de la red. Si usa TCP, obtiene la fiabilidad de la comunicación pero tiene un impacto en la velocidad. Si necesita un mayor rendimiento, puede intentar usar UDP en su lugar. Pero la desventaja de UDP es que la entrega y el pedido de paquetes no está garantizado, por lo que tendría que escribir toda esa tubería usted mismo.

Si necesita transferir archivos a través de la web (programáticamente y si no puede usar FTP), un acercamiento de servicio web a través de MTOM podría satisfacer sus necesidades.

Si está construyendo en la parte superior de Windows Server 2003 R2, Windows Vista o Windows Server 2008 y haciendo transferencias de la red interna, otra opción es aprovechar la nueva característica Remote Differential Compression. Esto no solo hace un buen trabajo al comprimir un archivo para minimizar el tráfico de la red, sino que también lo usa directamente la replicación de DFS. Downside (como desarrollador .NET), es una tecnología COM +.

Cuestiones relacionadas