ATTENTION:
BEFORE YOU READ THE CHAPTER ONE OF THE PROJECT TOPIC BELOW,
PLEASE READ THE INFORMATION BELOW.THANK YOU!
INFORMATION:
YOU CAN GET THE COMPLETE PROJECT OF THE TOPIC BELOW. THE FULL
PROJECT COSTS N5000 ONLY. THE FULL INFORMATION ON HOW TO PAY AND GET THE
COMPLETE PROJECT IS AT THE BOTTOM OF THIS PAGE. OR YOU CAN CALL: 08068231953, 08168759420
NETWORK PROGRAMMING
(SECURED CLIENT-SECURED CHAT APPLICATION)
ABSTRACT
Several network systems are built to communicate with one
another as well as made available through service-oriented architectures. In
this project, the client server architecture is used to develop a chat
application. Firstly a chat application is created for both Client and Server
which is based on Transmission Control Protocol (TCP) where TCP is connection
oriented protocol and is a reliable connection protocol. As security is the key
factor while communicating over a network, so in this project, MySQL SSL
protocol and hash function was used for the Database based on a numbers of
benefits. The hash values of the real password and the random generated number
(salt) is stored in the database. The original password is not stored on the
system, making cracking of password much harder.
CHAPTER ONE
1.1 INTRODUCTION
Several network systems are built to communicate with one
another and are made available through service-oriented architectures. In this
project, we use the client server architecture to develop a secured
Client-Server chat application. A chat application is created based on
Transmission Control Protocol (TCP) where TCP is connection oriented protocol
and in the end, multithreading is used to develop the application.
A client-server chat application consists of a Chat Client
and a Chat Server and there exists a two way communication between them. Here,
Message Processor is used to interpret message from the user, Message
Interpreter is used to extract and pass the received message. Message Maker is
used to construct back the message and Client Manager is used to maintain the
clients list which the sender and receiver at both sides use to interact with
each other.
In general, the server process will start on some computer
system; in fact, the server should be executed before the client. Server
usually initializes itself, and then goes to wait state or sleep state where it
will wait for a client request. After that, a client process can start on
either the same machine or on some other machine. Whenever the client wants
some service from the server, it will send a request to the server and the
server will accept the request and process it. After the server has finished
providing its service to the client, the server will again go back to sleep,
that is, waiting for the next client request to arrive. This process is
repeated as long as the server processes is running. Whenever such request
comes, the server can immediately serve the client and again go back to the
waiting state for the next request to arrive.
1.2 BACKGROUND OF THE STUDY
Client server model is the standard model which has been
accepted by many for developing network applications. In this model, there is a
notion of client and notion of server. As the name implies, a server is a
process (or a computer in which the process is running) that is offering some
services to other entities which are called clients. A client on the other hand
is process (which is running) on the same computer or other computer that is
requesting the services provided by the server.
A chat application is basically a combination of two
applications:
Server application
Client application
Server application runs on the server computer and client
application runs on the client computer (or the machine with server). In this
chat application, a client can send data to anyone who is connected to the
server.
Java application programming interface (API) provides the
classes for creating sockets to facilitate program communications over the
network. Sockets are the endpoints of logical connections between two hosts and
can be used to send and receive data. Java treats socket communications much as
it treat input and output operations; thus programs can read from or write to
sockets as easily as they can read from or write to files.
To establish a server connection, a server socket needs to be
created and attached to a port, which is where the server listens for
connections. The port recognizes the Transmission Control Protocol service on
the socket. For instance, the email server runs on port 25, and the web server
usually runs on port 80.
Server Execution: At server the side, a thread is created
which receives numerous clients’ requests. It also contains a list in which
Client’s name and IP addresses are stored. After that, it broadcast the list to
all the users who are currently in chat room and when a client logs out then
server deletes that particular client from the list, update the list and then
broadcast the list to all available clients.
Client Execution: A client firstly must have to register
itself by sending username to the server and should have to start the thread so
that system can get the list of all available clients. Then any of two
registered clients can communicate with each other.
1.3 STATEMENT OF THE PROBLEM
The client-server communication model is used in a wide
variety of software applications. Where normally the server side is
sufficiently protected and sealed from public access, but client applications
running on devices like notebooks and desktops are considered insecure and
exposed to security threats.
The main weakness of client-server chat application is that
there is no security provided to data which is transferred between clients. Any
unauthorized client can hack the client account and can change the data. This
is the main objective of this project (To develop a secured Client-Server Chat
Application).
1.4 OBJECTIVES OF THE STUDY
The aim of this project is to develop a reliable and secure
network programming (Client-Server chat model) which can perform a multithreaded
server client chat application based on Java socket programming using Transport
Control Protocol (TCP). As security is the key factor while communicating over
a network, hash function with salt is used for the Database based on a number
of benefits. MySQL became the choice for the implementation of this application
based on its scalability and flexibility, high performance, high availability,
strong data protection, web and data warehouse strengths, management ease,
lowest total cost of ownership and open source freedom.
1.5 SIGNIFICANCE OF THE STUDY
Apart from just performing the regular client server chat,
this client-server chat is robust and significant in the following ways:
This project use MySQL for its database to make information
in the The personal details and messages including the private in the es in the
es in the es in the es in the es in the es in the es in the es in the Database
are encrypted using encryptor.
1.6 SCOPE OF THE STUDY
The project shall consider among other things the following
issues:
1. To provide a better understanding of how network
programming in java works.
2. Develop a reliable network communication for a
Client-Server chat application.
3. Analyses of network programming in java (Multithreaded
Client-Server Chat applications) for better understanding of the solutions.
4. Conduct an experimental result in order to establish the
parameter of the problem. In conclusion, suggest ways the problems can be
eliminated and recommends how the problems can be prevented.
1.7 LIMITATIONS
The previous Client-Server Chat system implements only hash
function with the password before the encryption which is then stored in the
Database. Thus, the database can be compromised easily to compute the original
password.
Some drawbacks of the Client-Server Chat are as follows:
As the server receives as many requests from clients so there
is a chance that server can become congested and overloaded.
In case of server fails then the users also suffers.
A lost password is irrecoverable.
Any unauthorized client can hack the client account and can
change the data.
1.8 ORGANISATION OF THE WORK
In this project, a secure java chat application is considered
which relies on the client-server paradigm to exchange the information. It is
divided into five chapters.
Chapter one is the introduction which consists of the
background of study, significance of the study, scope of the study, limitations
of the study, organization of the work and the definition of terms.
The second chapter focuses on the literature review of
relevant scholar’s opinions relevant to this study such as socket programming
in java, overview of secure socket layer, hash function e.t.c.
The third chapter gives details of the main methodology and
system design to implement the client-server chat application in java. First of
all the application is developed by using TCP then and in the end
multithreading is used to develop the application. At the end of chapter
weaknesses (deadlocks) of multithreading is discussed which can be removed by
using synchronizing threads.
Chapter four is the implementation of the secured Java
Client-Server Chat Application: it test and analysis the implementation of the
application.
Chapter five ends the project report. Firstly, a short
summary highlights the main points of the whole project. Next, a number of
conclusions and recommendations are given and lastly Appendix.
1.9 DEFINITION OF TERMS
Socket: Socket is a standard connection protocol that
supports data communication over the network between connected terminals. The
standard connection supports the data transmission both by the TCP and UDP
protocols between the terminals.
TCP: TCP is a transport layer protocol used by applications
that require guaranteed delivery of data. Basically, it is a
connection-oriented protocol. To communicate over TCP one must first have to
establish a connection between pair of sockets, where one socket is client and
the other belongs to server. After the connection is established between them
then they can communicate with each other.
Client: A client is a system that accesses or desires for a
service made accessible by a server.
Server: A server is a system (hardware or software) program
running to provide the service requests of other system programs.
Port: Port is a software mechanism that allows the
centralized connected Servers to listen for requests made by clients. Port is
actually purposed as a gateway to listen for the requested parameters by the
server terminals or other machines. It is a software address on a system that
is on the network. Entire request response proceeding among this Application is
carries through machine ports.
Network: This refers to a system were computers are linked to
share software, data, hardware and resources for the benefit of users.
Interface: This may be software or hardware that upon an
agreed method spells out the manner a system component can exchange information
with another system component.
Secure socket layer (SSL): This refers to Secure Sockets
Layer protocol that is used for encryption of data for secure data
transmission.
IP: This refers to Internet Protocol; it is the reasonable
network address of device on a network. It is notational called dotted-decimal
(for instance: 128.1.0.1).
Thread: A thread is a section of code which is executing
independently of others threads in a same program. Java has a class Thread
which is defined in java.langpackage. Thread is the most powerful feature that
JAVA supports from other programming languages.
HOW TO GET
THE FULL PROJECT WORK
PLEASE,
print the following instructions and information if you will like to order/buy
our complete written material(s).
HOW TO
RECEIVE PROJECT MATERIAL(S)
After
paying the appropriate amount (#5000) into our bank Account below, send the
following information to
08068231953
or 08168759420
(1) Your project topics
(2) Email Address
(3) Payment Name
(4) Teller Number
We will send your material(s) immediately we receive bank alert
BANK
ACCOUNTS
Account Name: AMUTAH DANIEL CHUKWUDI
Account Number: 0046579864
Bank: GTBank.
OR
Account Name: AMUTAH DANIEL CHUKWUDI
Account Number: 2023350498
Bank: UBA.
HOW TO
IDENTIFY SCAM/FRAUD
As a result of fraud in Nigeria, people don’t believe there are
good online businesses in Nigeria.
But on
this site, we have provided “table of content and chapter one” of all our
project topics and materials in order to convince you that we have the complete
materials.
Secondly, we have provided our Bank Account on this site. Our
Bank Account contains all information about the owner of this website. For your
own security, all payment should be made in the bank.
No Fraudulent company uses Bank Account as a means of payment,
because Bank Account contains the overall information of the owner
CAUTION/WARNING
Please, DO NOT COPY any of our materials on this website
WORD-TO-WORD. These materials are to assist, direct you during your
project. Study the materials carefully and use the information in them to
develop your own new copy. Copying these materials word-to-word is CHEATING/
ILLEGAL because it affects Educational standard, and we will not be held
responsible for it. If you must copy word-to-word please do not order/buy.
That you ordered this material shows you have agreed not to copy
word-to-word.
FOR MORE
INFORMATION, CALL:
08068231953
or 08168759420
AFFILIATE LINKS:
Comments
Post a Comment