Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people, just like you, are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
Solved

Best Zip and Compression Tools

Posted on 2010-08-16
9
455 Views
Last Modified: 2012-05-10
Dear All,

I have a client requirement to send the 150 MB file size using 500 Kbps line in 25-35 minutes time using Desktop client (windows application) to a remote Server via FTP or any other file tranfer protocol.

I planned to use the below method and use either VB.Net or C# as my programming language to develop the application.

1) Select The file(s) at desktop client
2) Compress File(s) at desktop client
3) Zip the file(s) at desktop client
4) Split the file and send all the parts at the same time using multithreading if its cessory.
If we can send it one shot it will be good.
5) Send the file to the remote server via FTP  
6) Unzip the file(s) at remote server
7) Decompress the file(s) at remote server

Can anybody suggest me some tools or Dlls or Method which can fulfill my client's above requirement.

Thanks and Regards
ihsan
0
Comment
Question by:anand_dan27
9 Comments
 
LVL 8

Assisted Solution

by:nwtechdesk
nwtechdesk earned 125 total points
ID: 33451736
7-zip is the current favorite, better than plain old zip.  Your success though will depend on the type of file. If it's a 150mb jpg then there is no compression that'll make much of a difference.  If it's text, no problem.  Splitting the file and sending multiple segments at the same time will probably not make any difference on a 500 Kbps line.  Unless there's a bottleneck on the other side, you chief problem is that slow connection.  Asking two threads to send through the same tight space won't help.
0
 
LVL 2

Expert Comment

by:ajisasaggi
ID: 33452287
7zip also has a command line utility. This should help in easy integration with your application.

http://dotnetperls.com/7-zip-examples
0
 
LVL 41

Assisted Solution

by:graye
graye earned 125 total points
ID: 33501258
I'd recommend SharpZipLib....  it has a native .Net library that does everything that I want...
http://www.icsharpcode.net/opensource/sharpziplib/ 
0
Enterprise Mobility and BYOD For Dummies

Like “For Dummies” books, you can read this in whatever order you choose and learn about mobility and BYOD; and how to put a competitive mobile infrastructure in place. Developed for SMBs and large enterprises alike, you will find helpful use cases, planning, and implementation.

 
LVL 17

Accepted Solution

by:
CSecurity earned 125 total points
ID: 33774367
Dear anand_dan27

Once I decided to code an application that compress files and used this:
http://www.codeproject.com/KB/files/CABCompressExtract.aspx

This project has too much details and works great. It even has encryption and send file methods. It helped me a lot and I hope help you as a C# programmer (the code is in both C++ and C# .NET languages).

But, maybe you think that 7zip is more powerful than this cab compression but there are two points:
1- The difference is really little. For example, if 7zip compress a file from 28M to 1M, cab will do it like 1.2M. I tested them all when coding for my own project. It's more powerful than zip, tar + jar, rar, tar + lzh, arj and  tar + gz (based on the documentation and my own experience).

2- Cab compression is too faster than 7zip. The diffrence is more sensible for large files.

So, I recommend you to use detailed documented and easy to use cab compression.

Regards
0
 
LVL 4

Expert Comment

by:prasmin
ID: 34703677
You would be easily able to send it. Calculating the speed you gave it would take somewhere about 20 to 22 min max sending a 150MB file to FTP Server.
0
 
LVL 25

Expert Comment

by:madunix
ID: 35498037
0
 
LVL 11

Assisted Solution

by:pmasotta
pmasotta earned 125 total points
ID: 36104505
if you are planning to use 7z programatically you better be ready for pain...
7z is not the simpler api I've ever used....


on the other hand if you are not attached to zip format I would recommend the cab MS native api.
http://msdn.microsoft.com/en-us/library/bb417343.aspx
http://msdn.microsoft.com/en-us/library/bb432569.aspx
http://msdn.microsoft.com/en-us/windows/bb980924.aspx

you programatically generate cab files (very efficient compression) that can be extracted with the everywhere available MS "expand.exe". The API has some level of difficulty but far easier than 7z, and you have sample code on MSDN.
0
 
LVL 50

Expert Comment

by:Ingeborg Hawighorst
ID: 37163447
This question has been classified as abandoned and is closed as part of the Cleanup Program. See the recommendation for more details.
0

Featured Post

Ransomware: The New Cyber Threat & How to Stop It

This infographic explains ransomware, type of malware that blocks access to your files or your systems and holds them hostage until a ransom is paid. It also examines the different types of ransomware and explains what you can do to thwart this sinister online threat.  

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Introduction: Dialogs (2) modeless dialog and a worker thread.  Handling data shared between threads.  Recursive functions. Continuing from the tenth article about sudoku.   Last article we worked with a modal dialog to help maintain informat…
Article by: Leon
Software Metering within our group of companies has always been an afterthought until auditing of software and licensing became a pain point. Orchestrator and SCCM metering gave us the answer and it was an exciting process.
The viewer will learn how to simulate a series of coin tosses with the rand() function and learn how to make these “tosses” depend on a predetermined probability. Flipping Coins in Excel: Enter =RAND() into cell A2: Recalculate the random variable…
The viewer will learn how to use the =DISCRINV command to create a discrete random variable, use this command to model a set of probabilities and outcomes in a Monte Carlo simulation, and learn how to find the standard deviation of a set of probabil…

809 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question