|
Documentation
General
Our project is a window based working environment. The main advantage is, User need not bother about FTP Commands. All functions are handling by the use of (user mouse) events. Local System files are arranged in the same way of Windows Explorer by using TreeView Control and ListView Control. Remote Files are arranged by ListView Control. Both in ListView, Folders and files are arranged separately in ascending order. In Remote File ListView, We restrict hidden file details because of Safe and Security purpose. User’s request or fault is responded in the form of Message Box or Rich Text Messages.
.NET Framework
The .NET Framework is a multi-language environment for building, deploying, and running XML Web Services and applications. It provides a highly productive, standards-based, Multilanguage environment for integrating existing investments with next generation applications and services. It consists of three main parts:
- Common Language Runtime
- Unified programming classes
- ASP.NET
Common Language Runtime
The engine at the core of managed code execution. The runtime supplies managed code with services such as cross-language integration, code access security, object lifetime management, and debugging and profiling support.
Unified programming classes
The framework provides developers with a unified, object-oriented, hierarchical, and extensible set of class libraries (APIs). Currently, C++ developers use the Microsoft Foundation Classes and Java developers use the Windows Foundation Classes. By creating a common set of APIs across all programming languages, the common language runtime enables cross-language inheritance, error handling, and debugging.
ASP.NET
ASP.NET builds on the programming classes of the .NET Framework, providing a Web application model with a set of controls and infrastructure that make it simple to build Web applications. ASP.NET includes a set of controls that encapsulate common HTML user interface elements, such as text boxes, buttons, and list boxes. These controls run on the Web server, however, and render their user interface as HTML to the browser. ASP.NET developers can write their business logic and use the ASP.NET infrastructure to deliver that service via SOAP.
Active vs Passive Mode
In active mode FTP, the client connects from a random unprivileged port (N > 1023) to the FTP server's command port, port 21. Then, the client starts listening to port N+1 and sends the FTP command PORT N+1 to the FTP server. The server will then connect back to the client's specified data port from its local data port, which is port 20.
The main problem with active mode FTP actually falls on the client side. The FTP client doesn't make the actual connection to the data port of the server--it simply tells the server what port it is listening on and the server connects back to the specified port on the client. From the client side firewall this appears to be an outside system initiating a connection to an internal client--something that is usually blocked.
In passive mode FTP, the client initiates both connections to the server, solving the problem of firewalls filtering the incoming data port connection to the client from the server. When opening an FTP connection, the client opens two random unprivileged ports locally (N > 1023 and N+1). The first port contacts the server on port 21, but instead of then issuing a PORT command and allowing the server to connect back to its data port, the client will issue the PASV command. The result of this is that the server then opens a random unprivileged port (P > 1023) and sends the PORT P command back to the client. The client then initiates the connection from port N+1 to port P on the server to transfer data.
While passive mode FTP solves many of the problems from the client side, it opens up a whole range of problems on the server side. The biggest issue is the need to allow any remote connection to high numbered ports on the server. Fortunately, many FTP daemons, including the popular WU-FTPD allow the administrator to specify a range of ports which the FTP server will use. The second issue involves supporting and troubleshooting clients which do (or do not) support passive mode.
In our project, we have chosen Passive Mode as a Default. Most of the users are used latest version of windows. All latest versions support Firewall. In Active Mode, FTP server connects back to the specified port on the client. This time, Firewall does not allow to connecting it. If you are using in Active Mode, you should turn off the Firewall setting. Otherwise we may use Passive Mode. It is the secure connection because client decides the server port address.
Binary / ASCII File Transer
Every byte is 8 bits. In ASCII, a byte is made up of 7 "significant" bits and an eighth, “insignificant" bit, used for error control. Binary uses all 8 bits as significant bits. Text-only is ASCII, whereas word processing documents, image and data files, etc, are binary. If a binary file is transferred in ASCII mode, every eighth bit becomes corrupted and the file unusable — you inevitably corrupt a binary file by sending it as ASCII.
But sending ASCII files as binary works much of the time, if the operating systems on both ends are using the same convention for that eighth "error-checking" bit. However, you certainly can get into trouble with Unix/Mac/Windows mismatches which use different conventions.
UTF-8 Encoding
The Encoding class is very general. Supported classes inheriting from Encoding allow .NET applications to work with the common encodings they are likely to encounter in legacy applications. In particular, UTF-8 Encoding is preferred over ASCII Encoding. If the content is ASCII, the two encodings are identical, but UTF-8 Encoding can also represent every Unicode character, while ASCII Encoding supports only the Unicode character values between U+0000 and U+007F. Because ASCII Encoding does not provide error detection, UTF-8 Encoding is also better for security.
UTF-8 Encoding has been tuned to be as fast as possible and should be faster than any other encoding. Even for content that is entirely ASCII, operations performed with UTF-8 Encoding are faster than operations performed with ASCII Encoding. So we have applied UTF-8 Encoding Systems in this project./p>
Secure Connection (SSL/TLS)
Transport Layer Security (TLS) and its predecessor, Secure Sockets Layer (SSL), are cryptographic protocols that provide secure communications on the Internet for such things as web browsing, e-mail, Internet faxing, instant messaging and other data transfers. TLS provides endpoint authentication and communications privacy over the Internet using cryptography.
If connecting to an FTP server that requires credentials and supports SSL, you should set EnableSsl to true. Unless the EnableSsl property is true, all data and commands, including your user name and password information, are sent to the server in clear text. Anyone monitoring network traffic can view user’s credentials and use them to connect to the server.
Deployment
Deployment is the process by which distribute a finished application or component to be installed on other computers. The deployment tools in Visual Studio 2005 allow you to create installers for 64-bit applications and components. The TargetPlatform Property of a deployment project determines whether an installer will target a 32-bit or a specific 64-bit platform. The target platforms are x86 for 32-bit platforms, x64 for computers supporting the AMD64 and EM64T instruction sets, and Itanium for the 64-bit Itanium processor.
To distribute a .NET Framework application both to 32- and 64-bit platforms, build two MSI packages, one targeted at a 32-bit and the other a 64-bit computer. The user can install the 32-bit setup project package and it will most likely run as a 64-bit application, only the 64-bit setup project will install to the "Program Files64" directory.
Windows Installer deployment enables you to create installer packages to be distributed to users; the user runs the setup file and steps through a wizard to install the application.
|