protected void NewOneThreadSendDataToClient(Socket clientSocket, byte[] datas, int length) { DataSendArgsMode sendDataArgs = new DataSendArgsMode(); sendDataArgs.sockets = clientSocket; sendDataArgs.datas = datas; sendDataArgs.length = length; //新建發送數據的線程 Thread threadSendDataToClient = new Thread(SendDataToClient); threadSendDataToClient.IsBackground = true; threadSendDataToClient.Start(sendDataArgs); }
private void SendDataToClient(object obj) { DataSendArgsMode args = obj as DataSendArgsMode; try { args.sockets.Send(args.datas, 0, args.length, SocketFlags.None); return; } catch { dictSocket.Remove(args.sockets.RemoteEndPoint.ToString()); dictThread.Remove(args.sockets.RemoteEndPoint.ToString()); return; } }