2012-09-17 2 views
0

C#에서 Socket을 통해 파일을 보낼 수있는 방법을 찾고 있었지만 샘플 코드를 찾거나 운이 좋지 않았습니다.소켓에서 알다시피 바이트 및 배열 배열을 보내야합니다. 길이가 MaxInt이고 파일이 MaxInt보다 큽니다. Windows 소켓을 통해 FileStream을 C#으로 보내는 방법은 무엇입니까?C#에서 소켓을 통해 FileStream 보내기

+0

몇 바이트를 읽고 몇 바이트를 보내면됩니다. –

+0

http://www.codeproject.com/Articles/24017/File-Transfer-using-Socket-Application-in-C-NET-2 –

답변

2

청크로 파일을 읽습니다 (예 : 한 번에 64KB). 각 척을 개별적으로 보냅니다. 이를 통해 임의로 큰 파일을 스트리밍 할 수 있습니다.

.NET 4.0부터는 Stream.CopyTo(Stream)을 사용하면 한 줄로 만들 수 있습니다.

+0

또는 .Net 4.0에서 아마 [[FileStream.CopyTo (Stream)'] (http://msdn.microsoft.com/en-us/library/system.io.filestream.copyto.aspx) 프레임 워크가 청크를 처리하도록합니다. – user7116

+0

... 소켓 주위에 NetworkStream을 구성 할 때까지 스트림을 스트림으로 복사 할 수 없습니다. http://msdn.microsoft.com/en-us/library/cd8fz0y3.aspx – spender

관련 문제