private void PacketReceived(object sender, PacketEventArgs packetEventArgs) { var client = packetEventArgs.Client; var slave = _slaves[client.ClientHandle]; var packet = packetEventArgs.Packet; Trace.WriteLine( String.Format("[{2}] Received: {0} Size: {1}", packetEventArgs.Packet, Util.GetSIPrefix(packetEventArgs.Packet.Size + Packet.HeaderSize), client.RemoteEndPoint), "Commander.PacketReceived()"); if (packet is SendInfoPacket) { var sendInfoPacket = (SendInfoPacket)packet; slave.UpdateInfo(sendInfoPacket.ComputerName, sendInfoPacket.UserName, sendInfoPacket.OS); } else if (packet is SendPathContentPacket || packet is SendFilePacket) { slave.Explorer.PacketReceived(packet); } else if (packet is AckScreensharePacket || packet is SendScreenshotBlockPacket) { slave.Desktop.PacketReceived(packet); } else { Trace.WriteLine( String.Format("[{2}] Packet was unhandled: {0} Size: {1}", packet, packet.Size + Packet.HeaderSize, client.RemoteEndPoint), "Commander.PacketReceived("); } packetEventArgs.Client.ReceivePacketAsync(); }
private void ListLocalFiles(string directory) { textLocalPath.Text = directory; listLocalFiles.Items.Clear(); listLocalFiles.Items.Add(new ListViewItem(new[] { "..", "-" })); try { var list = Directory.GetDirectories(directory).ToDictionary(Path.GetFileName, k => "-") .Union(Directory.GetFiles(directory) .ToDictionary(Path.GetFileName, k => Util.GetSIPrefix(new FileInfo(k).Length))); foreach (var item in list) { listLocalFiles.Items.Add(new ListViewItem(new[] { item.Key, item.Value })); } } catch { } }
private void PacketSent(object sender, PacketEventArgs packetEventArgs) { Trace.WriteLine( String.Format("[{2}] Sent: {0} Size: {1}", packetEventArgs.Packet, Util.GetSIPrefix(packetEventArgs.Packet.Size + Packet.HeaderSize), packetEventArgs.Client.RemoteEndPoint), "Commander.PacketSent()"); }
private void PathContentReceived(object sender, PathContentEventArgs eventArgs) { Invoke((MethodInvoker)(() => { textRemotePath.Text = eventArgs.Path; listRemoteFiles.Items.Clear(); listRemoteFiles.Items.Add(new ListViewItem(new[] { "..", "-" })); foreach (var item in eventArgs.PathListing.OrderBy(i => i.Value != -1).ThenBy(i => i.Key)) { listRemoteFiles.Items.Add(new ListViewItem(new[] { item.Key, item.Value == -1 ? "-" : Util.GetSIPrefix(item.Value) })); } })); }