클라이언트 - 서버 프로그램을 사용하여 네트워크를 통해 파일을 보내고 있습니다. 파일의 바이트 (File.ReadAllBytes()
)를 읽은 후 바이트 배열을 객체의 필드로 설정합니다. 그런 다음 직렬화하여 클라이언트에 개체를 보내면 클라이언트는 개체를 deserialize하고 BinaryWriter
을 사용하여 파일을 가져와야합니다.파일의 바이트 배열을 필드로 사용하여 객체 직렬화
클라이언트 - 서버 간의 모든 메시지는 Command라는 클래스의 개체 직렬화를 통해 전달됩니다.
이 방법은 파일을 바이트 배열에로드 할 때 많은 메모리를 소비하는 것처럼 보입니다.
누구나 파일을 조금씩 보낼 수있는 또 다른 메커니즘을 제안 할 수 있습니까? 너무 많은 메모리를 사용하지 않아도됩니다. 파일의 메모리 주소를 보내고 서버가 클라이언트의 메모리 주소 (루프를 사용)를 사용하여 파일을 조금씩 가져올 수 있습니까?
이미 사용하고 소켓. 이것은 코드의 완전한 구조 조정을 필요로하는 것처럼 보입니다. 그렇지 않습니까? @ cybermaxs – manas
네,하지만 wcf에서 더 쉬울 것입니다. 내가 wcf의 큰 팬이기 때문에 나의 대답은 적절하지 않다. 또한 http://stackoverflow.com/questions/5659189/how-to-split-a-large-file-into-chunks-in-c – Cybermaxs
을 확인하십시오. 감사합니다. 좋은 기사 인 것처럼 보이지만 여전히 불가능합니다. 구현은 개체의 serialize/deserializing을 통해 클라이언트 - 서버간에 메시지를 전달합니다. 다시 구조 조정이 필요합니다. 맞습니까? @cybermaxs – manas