Socket 파일 전송 예제

흠... 넘 심플...한..가...

<서버측>

public bool SendFile(Socket socket, string filename)

{

       try

       {

           byte[] bytes = new byte[4096];

           int nBytes = 0;

                               

           FileStream fs = new FileStream(filename, FileMode.Open, FileAccess.Read);

                               

           while ((nBytes = fs.Read(bytes, 0, bytes.Length)) > 0)                

               socket.Send(bytes, nBytes, 0);


           fs.Close();


           return true;

       }

       catch (Exception)

       {

           return false;

       }

}


<클라이언트측>

public bool ReceiveFile(Socket socket, string path, string filename, string filesize)

{

       try

       {

           byte[] bytes = new byte[1024];

           int nBytes = 0;

               

           FileStream fs = new FileStream(@path + filename, FileMode.Create, FileAccess.Write);   

                                              

           while ((nBytes = socket.Receive(bytes, bytes.Length, 0)) > 0)

               fs.Write(bytes, 0, nBytes);


           fs.Flush();

           fs.Close();    


           return true;

       }

       catch (Exception)

       {

           return false;

       }          

}

Posted by 퓨전마법사
,