读书人

C# Socket容易编程实现文件传送

发布时间: 2012-10-08 19:54:56 作者: rapoo

C# Socket简单编程实现文件传送

发送端:
?? 截图:

C# Socket容易编程实现文件传送


??? 需添加的引用:

?

TcpListener _ls;        byte[] _receiveBuf=new byte [1024];        Thread _listenThread;        private void frmReceiveFile_Load(object sender, System.EventArgs e)        {            this._listenThread =new System.Threading.Thread (new System .Threading .ThreadStart (Listener));            this._listenThread .IsBackground =true;            this._listenThread .Name ="net";            this._listenThread .Start ();                }        private void Listener()        {            IPHostEntry ipHostInfo =Dns.Resolve(System.Net.Dns.GetHostName());            IPAddress ipAddress = ipHostInfo.AddressList[0];            this._ls =new TcpListener (ipAddress,6688);            this._ls .Start ();            while(true)            {                 Socket socket=this._ls .AcceptSocket ();                this.txtConnect.Text =socket.RemoteEndPoint.ToString ();                Receive(socket);            }        }         private void Receive(Socket socket)        {            try            {                NetworkStream ns=new NetworkStream (socket);                                FileStream fs=new FileStream (@"C:\Test\file.txt",FileMode.OpenOrCreate );                                bool isRead=true;                while(isRead)                {                    int count=ns.Read (this._receiveBuf ,0,this._receiveBuf .Length );                    if(count>0 && count<=_receiveBuf.Length)                    {                        isRead=true;                        fs.Write (this._receiveBuf ,0,count);                        fs.Close ();                        txtFile.Text="文件传送完毕";                    }                    else                    {                        isRead=false;                    }                }            }            catch(Exception ex)            {                MessageBox.Show(ex.Message + "frmReceive::Receive");            }        }

?

读书人网 >编程

热点推荐