NDMOT
NDMOT
support. NDMOT requires as little as 79K RAM to run and can be built without any
floating point support libraries. NDMOT provides more intelligent block sizing, data
compression and CRC support. Many of the older protocols were designed when 1200
As such, they use fairly small block sizes, which typically range from 128 to
1024 bytes in length. After each block gets transmitted, the older protocols require an
NDMOT avoids the block size and acknowledgement login by allowing block
sizes to increase to 8192 bytes in length. NDMOT starts out the block size at 512
bytes in length. With each successively correct transmission, it doubles the block size
to 1024, 2048, 4096 and finally 8192 bytes. Similarly, each successfully incorrect
transmission causes it to have the previous block size. Block sizes are as small as 64
NDMOT remains one of the few File Transfer Protocols with in-built data
Zip-ed files, NDMOT automatically disables its compression. Realistically, RLE can
1
However, RLE cannot act as modern hardware implemented compression protocols
compression. MNP 5 typically achieves 2:1 compression and v.42 bis achieves 4:1
compression.
NDMOT should provide 16 bit Cyclic Redundancy Check (CRC) for further
protection against transmission errors. However, the 16-bit CRC means that only
2
CHAPTER- I
INTRODUCTION
The basic idea of this utility is it provides more intelligent block sizing, data
compression and error checking support. NDMOT is used for transferring files with
NDMOT differs from other client server application in the way that it
establishes two connections between the hosts. One connection is used for data
transfer and the other for control information. NDMOT avoids the block size and
length.
We have number of protocol. Some of the protocols are HTTP, FTP, NEWS
and TELNET. HTTP is connectionless protocol. Messages in HTTP are divided into
two broad categories request and response. For only three request packets and one
type of response packet have been defined. The request command is sent from the
client to server. The response command is sent from the server to client. The get-
request command is used to retrieve information from the server. The head- request
command is used by the client receive just header information not data. The post -
request command is sent by the client to the server for passing information to the
server. It is usually used for sending mail, news bulletin boards and so on. FTP is
3
Many of older protocols were designed when 1200 baud. As such, they use
fairly small sizes, which typically range from 128 to 1024 bytes in length. After each
before any more data will be send. The acknowledgement overhead and block size
limitations together slow transmission down up to 25% less than its maximum
throughput. The reason for using NDMOT is that it provides more intelligent block
NDMOT differs from other client server applications in that are establishes
two connections between the hosts. One connection is used for data transfer and the
other for control information. The request command is sent from the client to server.
The response command is sent from the server to client with each successively
correct transmission. It doubles the block size to number of bytes. Similarly, each
successively in correct transmission causes to halve the previous block size. Block
sizes are small as 64 bytes allow transmission even in high noise environment.
transmission and it doubles the block size to number of bytes. Interface between the
end- user and server. Client machines want some information or copy file from the
server. The client downloads the information or file from the server. The server
wants some information from the client means the information are up loaded from
the client to server. Information or data’s are transferred from one machine to
4
DATA COLLECTION
Data send
5
CHAPTER-II
bytes in each successive transmission and it acts as interface between end-user and
Validation of Users
Establishing connection
Compression of data
VALIDATION OF USERS
Before getting into the project, the first step is validation of users. When we
enter into Windows, we will get the prompt login. In this we have to enter the user
name then it will lead as into a password prompt. After we type the password, if we
are valid user, it will make us get logged us into the project.
login:RAMESH
password : ******
6
The user have got a new mail tty1 22-04-03
login :
ESTABLISHING CONNECTION
After we enter into our login, it establishes connection and then we can run
First we have to compile and run this exe file. (Note this exe file is for server
connection). After that now take the client exe file and it is .rdecli, compile and run
this exe file. This will ask for a machine IP. Enter the correct IP address it will get
connected to the equivalent server holding that IP address. It will establish the
Refused”.
7
After deduction of error we have to use make file which is nothing but an
update file. After that we have to again run the exe file as told above, then after
The CRC is a very powerful but easily implemented technique to obtain data
reliability. The CRC technique is used to protect blocks of data called Frames. Using
this technique, the transmitter appends an extra n- bit sequence to every frame called
Frame Check Sequence (FCS). The FCS holds redundant information about the frame
that helps the transmitter detect errors in the frame. The CRC is one of the most used
techniques for error detection in data communications. The technique gained its
Little overhead.
Ease of implementation.
The CRC algorithm works with the binary field. The algorithm treats all bit
streams as binary polynomials. Given the original frame, the transmitter generates the
FCS for that frame. The FCS is generated so that the resulting frame (the cascade of
8
the original frame and the FCS), is exactly devisable by some pre-defined polynomial.
M - The original frame to be transmitted, before adding the FCS. It is k bits long.
T - The cascading of M and F. This is the resulting frame that will be transmitted. It is
The main idea behind the CRC algorithm is that the FCS is generated so that the
(1) T= M * x^n + F
This is because by cascading F to M we have shifted T by n bits to the left and then
added F to the result. We want the transmitted frame, T, to be exactly divisible by the
There is a quotient and a reminder. We will use this reminder, R, as our FCS (F).
Returning to Eq. 1:
(3) T= M*x^n + R
We will now show that this selection of the FCS makes the transmitted frame (T)
exactly divisible by P:
but any binary number added to itself in a modulo 2 field yields zero so:
9
Following is a review of the CRC creation process
4. Append the FCS to the raw frame. The result is the frame to transmit
2. Divide it by P.
3. Check the reminder. If not zero then there is an error in the frame.
It can be easily seen that the CRC algorithm must compute the reminder of the
P=110101 (n+1=6)
Then the FCS to be calculated by the transmitter will be n=5 bits in length. Lets
F=1110 (n=5)
T=1010001101 1110
BINARY POLYNOMIAL
10
polynomial. The sequence 101011, for example, can be represented by the
polynomial:
X^5+X^3+X^1+X^0 = X^5+X^3+X+1.
From the example, the rightmost bit of the sequence represents the lowest degree of
the polynomial (degree zero). Logical left shift of i bits can be represented by
the figure bellow, the vector [1001] is multiplied by the identity matrix I. This serves
that dI = d.
Each row of the matrix corresponds to a bit in the data vector, with the top row
being the most significant bit, and the bottom row being the least significant. The
1^0^0^0 = 1
|1 0 0 0 |
|0 1 0 0 |
[1 0 0 1] * |0 0 1 0 | = [1 0 0 1]
|0 0 0 1 |
11
FIG 2.1 Data
the hardware implementation and write the appropriate code, replacing the shift
register with a variable and the XOR gates with the xor operator. This method is the
easiest to implement and consumes very little memory. It's performance, however is
poor.
algorithms should be used. Those algorithms process one byte at a time and not one
bit at a time like the hardware implementation does. Those algorithms have one main
disadvantage: they have to keep tables in memory and so need more memory than the
Message M=1010001101
Pattern P=110101
FIG 2.2
12
The circuit is implemented as follows
The same circuit is used for both creation and check of the CRC. When
creating the FCS, the circuit accepts the bits of the raw frame and then a sequence of
zeros. The length of the sequence is the same as the length of the FCS. The contents
of the shift register will be the FCS to append. When checking the FCS, the circuit
accepts the bits of the received frame (raw frame appended by FCS and perhaps
corrupted by errors). The contents of the shift register should be zero or else there are
errors.
CRC-12: X^12+X^11+X^3+X^2+X+1
CRC-16: X^16+X^15+X^2+1
CRC-CCITT: X^16+X^12+X^5+1
CRC-32:
X^32+X^26+X^23+X^22+X^16+X^12+X^11+X^10+X^8+X^7+X^5+X^4+
X^2+X+1
generates 12-bit FCS. Both CRC-16 and CCRC-CCITT are used for 8 bit
transmission streams and both result in 16 bit FCS. The last two are widely used in
the USA and Europe respectively and give adequate protection for most applications.
Applications that need extra protection can make use of the CRC-32 which generates
13
32 bit FCS. The CRC-32 is used by the local network standards committee (IEEE-
FIG 2.3
Use this utility to verify Cyclic Redundancy Check numbers for disk files. The
COMPRESSION OF DATA
If the data are too large, when it is transmitted through the communication
channel, it takes more time for transmission. Thus some redundant data must me
identified and it must be given some other shorter code so that original code may be
reduced. For that the data which is transferred is to be compressed and this is done
with help of run length encoding [RLE] and slightly modifiedin this project.
14
RUN LENGTH ENCODING
In modified Run Length Encoding (RLE) method, the data which have
undergone for compression from the data sources , the concept of Block Sorting is
used. While similar to the standard form of RLE, the method described here offers a
potentially more optimal encoding scheme for data where the length of symbol runs is
highly variable. The compression results posted later in work show an overall
compression improvement for the Calgary corpus of 11k when employed with the
M99 data coder. Further use of this technique (specific to M99 encoding scheme) has
produced a reduction 20k to the same corpus over M99 without this modified RLE
technique.
The basic idea behind the method described here is to encode character runs
with an RLE scheme while not introducing data into the transformed stream which
will interrupt the character runs left behind. Furthermore, this scheme is designed to
be optimal for small runs while being capable of providing good encoding for larger
runs.
Only runs of length 3 or greater are encoded. All runs of 1 and two are left
unchanged. For any run of symbols in an input stream greater than 2, a run of the
same symbol will be placed into the stream with a length equal to (N+3)/2 where
N=the length of the original run. The following demonstrates this encoding.
15
AAAA -> AAA
The only overhead needed to reverse this encoding is one bit which indicates
whether the original run of symbols was even or odd. These bits are packed together
and stored at the end of the file. Given this, the above example is completely encoded
as follows
This method leaves large runs of symbols smaller but uninterrupted for
encoding with standard Block Sorting methods but reduces common symbol runs
nearly in half.
16
The decoding for this scheme is very straight forward. For every run of
symbols in the encoded stream, the original run is 2N-2 where N is the length of the
encoded symbol run. This value is decremented by one if the extra encoded bit is a 0.
17
CHAPTER – III
HARDWARE REQUIREMENTS
Memory 4 GB 2 GB
SOFTWARE REQUIREMENTS
SERVER CLIENT
18
CHAPTER – IV
SYSTEM STUDY
EXISTING SYSTEM
We have number of protocol. Some of the protocols are HTTP, FTP, NEWS
and TELNET. HTTP is connectionless protocol. Messages in HTTP are divided into
two broad categories request and response. For only three request packets and one
type of response packet have been defined. The request command is sent from the
client to server. The response command is sent from the server to client. The get-
request command is used to retrieve information from the server. The head- request
command is used by the client receive just header information not data. The post -
request command is sent by the client to the server for passing information to the
server. It is usually used for sending mail, news bulletin boards and so on. FTP is
Many of older protocols were designed when 1200 baud. As such, they use
fairly small sizes, which typically range from 128 to 1024 bytes in length. After each
before any more data will be send. The acknowledgement overhead and block size
limitations together slow transmission down up to 25% less than its maximum
throughput. Many of the older protocols were designed when 1200 baud was state of
art. The reason for using NDMOT protocol is that it provides more intelligent block
PROPOSED SYSTEM
19
The basic idea of this utility is it provides more intelligent block sizing, data
compression and error checking support. NDMOT is used for transferring files with
high speed over the network system. And other main features are,
CRC support.
FEASIBILITY STUDY
NDMOT use fairly small block sizes, which typically range from 128 to 1024
bytes in length. After each block gets transmitted, the older protocols require an
20
CHAPTER –V
IMPLEMENTATION
After finishing the development of any computer based system the next
complicated time consuming process is system testing. During the time of testing only
the development company can know that, how far the user requirements have been
Following are the some of the testing methods applied to this effective project
This examines the logic of the system. If we are getting the output that is
required by the user, then we can say that the logic is perfect.
SPECIFICATION TESTING
We can set with, what program should do and how it should perform under
21
MODULE LEVEL TESTING
In this the error will be found at each individual module, it encourages the
programmer to find and rectify the errors without affecting the other modules.
UNIT TESTING
Unit testing focuses on verifying the effort on the smallest unit of software-
module. The local data structure is examined to ensure that the date stored temporarily
maintains its integrity during all steps in the algorithm’s execution. Boundary
conditions are tested to ensure that the module operates properly at boundaries
INTEGRATION TESTING
Data can be tested across an interface. One module can have an inadvertent,
with interring.
VALIDATION TESTING
succeeds when the software functions in a manner that can be reasonably accepted by
22
the client. In this the majority of the validation is done during the data entry operation
where there is a maximum possibility of entering wrong data. Other validation will be
performed in all process where correct details and data should be entered to get the
required results.
PERFORMANCE TESTING
the context of an integrated system. Performance test are often coupled with stress
OUTPUT TESTING
After performing the validation testing, the next step is output testing of the
proposed system since no system would be termed as useful until it does produce the
required output in the specified format. Output format is considered in two ways, the
User Acceptance Testing is the key factor for the success of any system. The
touch with prospective system users at the time of developing and making changes
whenever required.
23
CHAPTER –VI
SOFTWARE DESCRIPTION
OPERATING SYSTEM
10 has an official end of support date of October, 2025, with Windows 11 as it's
successor.
Anyone adopting Windows 10 can upgrade legacy machines directly from Windows
version of Windows 10, IT or users run the Windows 10 OS installer, which transfers
any applications and software on the previous OS, as well as settings and preferences
Organizations and users can pick and choose how they will patch and update
Windows 10. IT or users can access a Windows 10 upgrade through the Windows
Update Assistant to manually begin an upgrade or wait for Windows Update to offer
use mobile device management (MDM) software to secure and control devices
running the operating system. In addition, organizations can use traditional desktop
24
Windows 10 features
The familiar Start Menu, which Microsoft replaced with Live Tiles in Windows 8,
returned in Windows 10. Users can still access Live Tiles and the touch-centric Metro
interface from a panel on the right side of the Start Menu, however.
1. When the server can handle a client request in a known, short amount of time,
the server process handles the request itself. We call these iterative servers.
2. When the amount of time to service a request depends on the request itself (so
that the server doesn't know ahead of time how much effort it takes to handle
each request), the server typically handles it in a concurrent fashion. These are
handle each client request, so that the original server process can go back to
sleep, waiting for the next client request. Naturally, this type of server requires
an operating system that allows multiple processes to run at the same time.
There are two machines involved in an ftp transaction, a client machine, which is
sometimes called the local host, and a server machine, which is sometimes called the
remote host. The client is always the machine that initiates the transfer. During an ftp
session, it is extremely important to keep track of which machine is the client and
which is the server, because this will determine whether the user use a get command
or a put command to move files. The get command is always used to copy files from
the server to the client, and the put command is used to copy files from the client to
the server.
25
As a simple example, consider the case where the user desktop computer (e.g.,
a Macintosh or a DOS PC) runs an ftp client in order to connect to the ftp server on
the machine ux1.cso.uiuc.edu. To initiate the process on, say, a DOS machine, might
type the following command, using the Clarkson or PC/TCP ftp program:
C:\PCTCP>ftp ux1.cso.uiuc.edu
After some negotiation with ux1, the user ftp client and the ux1 ftp server
would be talking to each other, and would type commands for putting and getting
files. Since the user PC was used to initiate the ftp connection, it is the client and ux1
is the server. In this case, "putting" means uploading files from r PC to the ux1, and
"getting" means downloading files from the to the user PC as shown in the diagram
below:
FIG 1.6
The situation can be more complicated, and sometimes it's difficult to decide
whether to put or to get. A common example of this is when the user are running
26
telnet on a PC to log in to the user WINDOWS account. The user log in to the user
account on ux1 and read the user e-mail using Pine. Someone has sent the user an
attachment that is a DOS executable, typically a self-extracting ZIP file, and the user
want to download it to the user PC. Many telnet applications have a built-in ftp server,
allowing the user, during a telnet session with a remote WINDOWS system, to initiate
an ftp session from the WINDOWS system back to the user PC. In fact, some telnet
WINDOWS ftp command for the user with the IP address filled in, as if the user had
where xxx and yyy have been replaced with the appropriate numbers from the
user machine's IP address. This is exactly equivalent to starting up the WINDOWS ftp
client to establish an ftp connection with the user PC. In this case, ux1 is the client
machine (or local host), and the user PC is the server machine (or remote host) as
illustrated in the next diagram. (Needless to say, in this instance, the terms "local" and
user than ux1.) In order to download the user file to the user PC, the user must use
the put command, since the user are using the WINDOWS ftp client to copy the file to
the user PC, which is acting as the server machine. To upload files to the user
WINDOWS account, the user would use the get command, for the same reason.
27
FIG 1.7
There is a third situation in which the user PC, acting as a telnet client only, is
used to initiate an ftp session between two remote computers, and therefore is not
directly involved in the ftp transaction. In such instances, the user PC is neither the
ftp client nor the ftp server. For example, if the user log in to ux1 and then use the ftp
client on ux1 to start an ftp session between ux1 and uiarchive, ux1 is ftp client and
In this case, the user get files from uiarchive to ux1, and, if the user have
special privileges, the user can copy files to uiarchive using the put command. This
28
ux1> ftp uiarchive.cso.uiuc.edu
FIG 1.8
The proper use of several other ftp commands, in addition to put and get, also
hinges on an understanding of client and server. For example, the the cd (change
directory) command is used to move from one directory to another on the server. If
the user want to change directories on the client machine, the user must instead use
the lcd command, which stands for local change directory. As long as the user keep in
mind the examples and principles outlined above, however, the user should have no
29
CONNECTIONS AND ASSOCIATIONS
We use the term connection to define the communication link between two
processes. The term association is used for the 5-tuple that completely specifies the
The local-address and the remote-address specify the network and host IP
each system that are involved in the connection. In TCP/IP, an example could be
Here, the protocol is TCP, the local IP address is 192.43.65.160, the local-
process is 1500 (port #), the remote IP address is 192.61.66.25 and the remote-process
is 23 (port #).
To do network I/O, a process must first call the socket system call, specifying
the type of communication protocol desired (TCP, UDP). The socket system call
returns a small integer value, similar to a file descriptor. This is the socket descriptor.
In the 5-tuple association described above, the socket system call just specifies the
first element, the protocol. Before the socket descriptor is of any real use, the
remaining four elements of the association must be specified. What the process would
30
BIND SYSTEM CALL
The bind system call assigns a name to an unnamed socket. Basically, bind fills in
the local-address and local-process elements of the 5-tuple associations. There are
1. Servers register their well-known address with the system. It tells the system
"this is my address and any messages received for this address are to be given
3. A connectionless client needs to assure that the system assigns it some unique
address, so that the other end (the server) has a valid return address to send its
return address, if we expect to get a reply from the person we send the letter
to.
A client process connects a socket descriptor following the socket system call
example), the connect system call results in the actual establishment of a connection
between the local system and the foreign system. Messages are typically exchanged
between the two systems and specific parameters relating to the conversation might be
etc.). In these cases the connect system call does not return until the connection is
31
The client does not have to bind a local address before calling connects. The
connections uses this system call. Listen is executed after both socket and bind system
calls.
connection from some client process is waited for by having the server execute the
accept system call. Accept takes the first connection request on the queue and creates
another socket with the same properties as the initial socket. If there are no connection
requests pending, this call blocks the caller until one arrives. The typical scenario is as
follows
error_handle("socket error");
error_handle("bind error");
error_handle("listen error);
for ( ; ; ) {
if (newsockfd < 0)
error_handle("accept error");
32
if (fork() == 0) {
close(sockfd); /* child */
exit(0);
close(newsockfd); /* parent */
When a connection request is received and accepted, the process forks, with
the child process serving the connection and the parent waiting for another connection
request. All five elements of the 5-tuple associated with newsockfd have been filled in
These system calls are similar to the standard read and write system calls, but
socket.
33
WHAT IS PYTHON?
development, data science, and machine learning (ML). Developers use Python
because it is efficient and easy to learn and can run on many different platforms.
Python software is free to download, integrates well with all types of systems, and
Developers can easily read and understand a Python program because it has
Python makes developers more productive because they can write a Python
Python has a large standard library that contains reusable codes for almost any
Developers can easily use Python with other popular programming languages
around the globe. If you face an issue, you can get quick support from the
community.
Plenty of helpful resources are available on the internet if you want to learn
Python. For example, you can easily find videos, tutorials, documentation, and
developer guides.
34
How is Python used?
The Python language has several use cases in application development, including the
following examples:
Server-side web development includes the complex backend functions that websites
perform to display information to the user. For example, websites must interact with
databases, talk to other websites, and protect data when sending it over the network.
Python is useful for writing server-side code because it offers many libraries that
consist of prewritten code for complex backend functions. Developers also use a wide
range of Python frameworks that provide all the necessary tools to build web
applications faster and more easily. For example, developers can create the skeleton
web application in seconds because they don’t need to write it from scratch. They can
then test it using the framework’s testing tools, without depending on external testing
tools.
normally perform. Programmers widely use Python scripts to automate many day-to-
35
Downloading content
Data science is extracting valuable knowledge from data, and machine learning
(ML) teaches computers to automatically learn from the data and make accurate
predictions. Data scientists use Python for data science tasks such as the following:
Visualizing data by using charts and graphs such as line charts, bar graphs,
Data scientists use Python ML libraries to train ML models and build classifiers that
classification tasks such as image, text, and network traffic classification; speech
recognition; and facial recognition. Data scientists also use Python for deep learning,
an advanced ML technique.
Software development
Software developers often use Python for different development tasks and software
36
Handling software project management
libraries
Software testing is the process of checking whether the actual results from the
software match the expected results to ensure that the software is error-free.
Developers use Python unit test frameworks, such as Unittest, Robot, and
Software testers use Python to write test cases for various test scenarios. For
example, they use it to test the user interface of a web application, multiple
Developers can use several tools to automatically run test scripts. These tools are
testers and developers use CI/CD tools such as Travis CI and Jenkins to automate
tests. The CI/CD tool automatically runs the Python test scripts and reports the test
project to stay busy during Christmastime. The name for the language was inspired by
37
the BBC TV show Monty Python’s Flying Circus because Guido Van Rossum was a
Guido Van Rossum published the first version of the Python code (version
0.9.0) in 1991. It already included good features such as some data types and
Python 1.0 was released in 1994 with new functions to easily process a list of
Python 2.0 was released on October 16, 2000, with new useful features for
the print function and more support for number division and error handling.
An interpreted language
Python is an interpreted language, which means it directly runs the code line by line.
If there are errors in the program code, it will stop running. Therefore, programmers
An easy-to-use language
38
A dynamically typed language
Programmers do not have to declare variable types when writing code because Python
determines them at runtime. Because of this, you can write Python programs more
quickly.
A high-level language
AN OBJECT-ORIENTED LANGUAGE
A library is a collection of frequently used codes that developers can include in their
Python programs to avoid writing code from scratch. By default, Python comes with
the Standard Library, which contains a lot of reusable functions. In addition, more
than 137,000 Python libraries are available for various applications, including web
Matplotlib
Developers use Matplotlib to plot data in high-quality two- and three-dimensional (2D
and 3D) graphics. It is often used in scientific applications. With Matplotlib, you can
39
visualize data by displaying it in different charts such as bar charts and line charts.
You can also plot multiple charts at once, and the graphics are portable across all
platforms.
Pandas
Pandas provides optimized and flexible data structures that you can use to manipulate
time-series data and structured data, such as tables and arrays. For example, you can
use Pandas to read, write, merge, filter, and group data. Many people use it for data
NumPy
NumPy is a popular library that developers use to easily create and manage arrays,
manipulate logical shapes, and perform linear algebra operations. NumPy supports
REQUESTS
The Requests library provides useful functions that are required for web development.
You can use it to send HTTP requests, add headers, add URL parameters, add data,
and perform many more tasks when communicating with web applications.
OPENCV-PYTHON
vision applications. It provides many functions for image processing tasks such as
40
KERAS
Keras is Python's deep neural network library with excellent support for data
processing, visualization and much more. Keras supports many neural networks. It
related code, and a package is a set of modules. Developers can use Python
frameworks to build Python applications more quickly because they do not have to
worry about low-level details such as how communications happen in the web
application or how Python will make the program faster. Python has two types of
frameworks:
large application.
Developers can use multiple Python frameworks to make their development efficient,
Django
Django is one of the most widely used full-stack Python web frameworks for
a web server for development and testing, a template engine to build the website
41
Flask
unit testing, and a built-in web server. It also provides extensions for validation
TurboGears
Apache MXNet
Apache MXNet is a fast, flexible, and scalable deep learning framework that
developers use to build research prototypes and deep learning applications. It supports
multiple programming languages, including Java, C++, R, and Perl. It provides a rich
set of tools and libraries to support development. For example, you can find an
interactive machine learning (ML) book, computer vision toolkits, and deep learning
models for Natural Language Processing (NLP), which processes natural language
42
PyTorch
PyTorch is a framework for ML that has been built on top of the Torch library, which
robotics, and computer vision, finding meaningful information in images and videos.
tools they need to write, edit, test, and debug code in one place.
PyCharm
JetBrains, a Czech company that develops software tools, created PyCharm. It has a
free community edition that is suitable for small Python applications and a paid
professional edition that is suitable for building large-scale Python applications, with
Ability to run, debug, test, and deploy applications in remote virtual machines
43
Support for databases
IDLE
installed by default. It has been developed only with Python using the Tkinter GUI
Works across many operating systems such as Windows, Unix, and macOS
Spyder
Spyder is an open-source IDE that many scientists and data analysts use. It provides a
comprehensive development experience with features for advanced data analysis, data
A basic debugger
Atom
programming languages, including Python. Using Atom, developers can directly work
44
with GitHub, the website where you can save your code centrally. Atom offers the
following features:
can use to create software applications in a particular language. Most SDKs are
specific to different hardware platforms and operating systems. Python SDKs include
many tools such as libraries, code samples, and developer guides that developers find
Boto3 is the AWS SDK for Python. You can use it to create, configure, and manage
AWS services such as Amazon Elastic Compute Cloud (EC2), Amazon Simple
Storage Service (S3), and Amazon DynamoDB. Boto3 also provides two types
45
COMMUNICATIONS PROGRAMMING
CONCEPTS
listen Listens for socket connections and limits the backlog of incoming
connections.
46
sethostname Sets the unique name of the current host.
exit
Debug
CHAPTER –VII
CONCLUSION
47
This “NETWORK DATA MOST OPTIMIZED TRANSFER” is a
rewarding experience in more than one way. Every command, every transfer, in this
new system represents the real fastness, which the world is expecting for. The
requirements of a new protocol are covered to a little extent. The protocol is faster
when compared to any other existing system, even though it will be better if we make
use of any other new compression technique, which will help to make the transfer still
faster. This protocol is waiting for it’s launching after still more improvements are
made.
BIBLIOGRAPHY
48
1. Engle wood Cliffs, N.J., WINDOWS System V Release 3.2 – Network
1997.
7. Web Site:
www.amazon.com
www.colostate.edu
www.crystalftp.com
www.commeng.cso.uiuc.edu
www.hrssun.gsfc.nasa.gov
49