private void Listen() { ThreadPool.QueueUserWorkItem(delegate { Socket listener = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); listener.Bind(FileTransmiter.RealEndPoint); listener.Listen(FileTransmiter.MaxThreadCount); while (true) { if (listener.Blocking) { Socket client = listener.Accept(); if (this.InvokeRequired) { this.Invoke(new Action <Socket>(AddClient), client); } else { AddClient(client); } worker = new FileTransmiter.ReceiveWorker(client); FileTransmiter.SupperReceive(client, ConfigurationManager.AppSettings["path"], worker, new Action <string, int, bool, double>(ReportStatus), new Action <string, long>(ReportSpeed)); } } }); }
static void Main(string[] args) { //FileTransmiter.Receive(FileTransmitor.TestIP, @"E:\");//接受放到那个盘里 保存路径=这个参数+发送到文件名。 Socket listener = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); listener.Bind(FileTransmiter.TestEndPoint); listener.Listen(FileTransmiter.MaxThreadCount); FileTransmiter.ReceiveWorker worker = new FileTransmiter.ReceiveWorker(listener.Accept()); FileTransmiter.SupperReceive(listener, @"F:\Test", worker); Console.ReadLine(); }
private void Listen() { ThreadPool.QueueUserWorkItem(delegate { Socket listener = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); listener.Bind(FileTransmiter.RealEndPoint); listener.Listen(FileTransmiter.MaxThreadCount); while (true) { if (listener.Blocking) { Socket client = listener.Accept(); if (this.InvokeRequired) this.Invoke(new Action<Socket>(AddClient), client); else AddClient(client); worker = new FileTransmiter.ReceiveWorker(client); FileTransmiter.SupperReceive(client, ConfigurationManager.AppSettings["path"], worker, new Action<string, int, bool, double>(ReportStatus), new Action<string, long>(ReportSpeed)); } } }); }