Project Topics | Seminar Topics | Related Topics
Network Programming (A Case Study of Secured Client-Server Chat Application)

NETWORK PROGRAMMING


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:

  1. Server application
  1. 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 Aim and 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 database secure. The personal details and messages including the private messages in the Database are encrypted using encryptor (one of the security facilities available in the MySQL).

This project implements hash function with the password before the encryption and then stored in the Database. It also uses random generated numbers (salt) that is calculated together with the passworded hash values and stored in the Database. As a result, even if the database is compromised, the salt added to hash values makes it harder to compute the original password. This random salt is used with the hash function to significantly increase the strength of encrypting passwords and thus makes cracking greatly impossible. This makes the chat application server reliable and more secured.

Another significance of this application is private chatting. This is where two users can chat in private. The messages between the users are not displayed / seen in the general chat display text field. The messages are displayed only within the private message display text field.


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
  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

1.7 Limitations of Study

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:

  1. As the server receives as many requests from clients so there is a chance that server can bec44ome congested and
  2. In case of server fails then the users also
  1. A lost password is
  1. Any unauthorized client can hack the client account and can change the

1.8 Organization 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.lang package. Thread is the most powerful feature that JAVA supports from other programming languages.


CHAPTER TWO

2.0 Literature Review

2.1 Introduction

The review of relevant literature is the main topic of this chapter. A literature review covers theoretical and methodological contributions to a certain issue in addition to the state of knowledge at the time of writing. It provides information about the state of the art in relation to the subject you are writing about. It examines the body of work on the chosen subject. The literature evaluation in this study comprises the …


Procedure for Downloading the PDF (Docx) Material


Network Programming (A Case Study of Secured Client-Server Chat Application) can be downloaded by requesting the full set of materials at the project or seminar cost. The document will be sent via Microsoft Word (MS-Word) format via WhatsApp (e-mail) following payment confirmation.


Seminar Material Cost
₦3,000
Project Material Cost
₦5,000




TABLE OF CONTENTS

PRELIMINARY PAGES


CHAPTER ONE

INTRODUCTION

  • 1.2 Background of the study
  • 1.3 Statement of the problem
  • 1.4 Objectives of the study
  • 1.5 Significance of the study
  • 1.6 Scope of the study
  • 1.7 Limitations
  • 1.8 Organization of the work
  • 1.9 Definition of terms

CHAPTER TWO

LITERATURE REVIEW

  • 2.1 Client-Server and other models
  • 2.2 Client-Server communication
  • 2.3 Host identification and service port
  • 2.4 Sockets and socket based communication
  • 2.5 TCP/IP Socket programming
  • 2.6 Socket programming in Java
  • 2.7 Secure internet programming
  • 2.8 Overview of secure socket layer (SSL)
  • 2.9 Security
  • 2.10 Hash functions

CHAPTER THREE

SYSTEM ANALYSIS AND DESIGN

  • 3.1 Methodology
  • 3.2 Primary Data collection
  • 3.2.1 Secondary Data collection
  • 3.3 Analysis of the existing system
  • 3.4 Limitations of the existing system
  • 3.5 System Design
  • 3.6 Database Design
  • 3.7 System Flowchart
  • 3.8 Top Down Diagram
  • 3.9 Justification of the new system

CHAPTER FOUR

IMPLEMENTATION TESTING AND INTEGRATION

  • 4.1 Choice of development tools
  • 4.2 System Requirements
  • 4.2.1 Software Requirements
  • 4.2.2 Hardware Requirements
  • 4.3 Implementation
  • 4.4 Testing
  • 4.4.1 Unit Test
  • 4.4.2 System Test
  • 4.5 Integration

CHAPTER FIVE

SUMMARY, RECOMMENDATIONS AND CONCLUSION

5.1 Summary

5.2 Limitations

5.3 Recommendations

5.4 Bill Of Engineering Measurement And Evaluation

5.3 Conclusion

BIBLIOGRAPHY

APPENDIX A: Program Codes

APPENDIX B: Sample Output


Disclaimer for Complete Material Utilization

The displayed research work titled "Network Programming" is stated as a research guideline towards accomplishing your assigned project / seminar research work. All the research materials on this website are ONLY for research purposes and should be used as a guideline in developing your research work. For no reason should you copy word for word as projectlist.com.ng will not be liable for any who copied the material. By ordering the complete research guideline, it signifies that you've accepted our terms of service.


Frequently Asked Questions (FAQ)


Can the material for “Procedures Involved in Dealing with Malware That Affect Software of the Computer System” be used as a guide for Computer Science Education Project?

Yes it can be used — Malware continues to be a signification problem facing computer use in today's world, historically anti-virus software re has employed the use of static signatures to detect instances of known malware signature based detection has fallen out of favor to many, and detection technique based on identifying malicious program behavior are now part of the anti-virus tool kit, however, static approaches to malware detection have been heavily researched and can employ modern finer prints that significially improve on the simple string signatures used in the past, instance based learning can allow the detection of an entire family of malware variants based on a single signature of static features, statistical machine learning can turn the features extracted into a predictive anti-virus system …


Is the topic “Biodegradation of Polythenes by Bacteria Isolation from Dumping Side” recommended for Biochemistry Project?

Yes it is highly recommended — The study determines the Biodegradation of Polythenes by Bacteria Isolation from Dumping Side. In achieving this aim, the following specific objectives were laid out to evaluate the Bacteria Biodegradation of Polythenes from Dumping Side and isolate the microorganism that degrades the polythene. Investigation reveals the growing accumulation of plastic wastes is one of the main environmental challenges currently faced by modern societies. These wastes are considered a serious global problem because of their effects on all forms of life. There is thus an urgent need to demonstrate effective eco-environmental techniques to overcome the hazardous environmental impacts of traditional disposal paths. However, our current knowledge on the prevailing mechanisms and the efficacy of synthetic plastics' biodegradation still appears limited. A total …


Is the topic “Management of Foreign Exchange in Nigeria by CBN” recommended for Banking and Finance (BF) Project?

Yes it is highly recommended — This thesis deals with foreign exchange management in Nigeria by the Central Bank of Nigeria (CBN) from 1959 to July 2004. The need to manage foreign exchange became imperative as a result of dis equilibrium in the foreign exchange market caused by inadequate supply of foreign exchange management is a conscious attempt to harnesses foreign exchange resources deploy them to service the economy so as to prevent the economy from experiencing shocks due to foreign exchange volatility. The central focus of thesis is to examine how CBN through its policy measures manages foreign exchange in the country. To carryout this thesis, the respondent makes use of both primary and secondary data. Questionnaires were in line with the objective of the study. Based …


Can this topic “The Impact of Information Communication Technology (ICT) on Students’ Academic Performance in Mathematics” be used for Mathematics Education Project?

Yes it can be utilized for research — The study attempted to examine the impact of information communication technology (ICT) on students’ academic performance in mathematics in selected secondary schools in Agege Local Government Area of Lagos State. In this study, relevant and extensive literature was reviewed under subheadings. The survey research design was used to assess responses of the selected respondents, with the application of the questionnaire and the sampling technique. A total of 200 (two hundred) respondents were selected and used for this study, which represented the bulk of the population. Four null hypotheses were formulated and tested in this study, using the Pearson Product Moment Correlation and the independent t-test statistical tool at 0.05 level of significance. At the end of the analysis, the following results …


Can the material for “Fraud Detection and Control in Cooperative Thrift and Credit Societies” be used as a guide for Cooperative Economics and Management (CEM) Project?

Yes it can be used — Cooperative thrift and credit societies emerged as a result of people coming together, posting their resources in mutual effort in order to solve their problem. The study examines the Fraud Detection and Control in Co-operative Thrift and Credit Societies using any Selected Credit Co-operative Societies in Ahiazu Mbaise LGA, Imo State as a case study. In achieving this aim, the following specific objectives were laid out to determine the cause of fraud in cooperative thrift and credit society, identify the prevalent fraud in cooperative thrift and credit societies and provide solution on how fraud can be control in cooperative thrift and credit societies. The research design used in this report is descriptive design, utilizing questionnaire method to obtain information from …


Can the material for “An Appraisal of Nigerian Foreign Policy Under the Goodluck Jonathan Administration (2011-2015)” be used as a guide for Political Science Project?

Yes it can be used — This study appraises the foreign policy thrust of Goodluck Jonathan’s administration, 2011 − 2015. It queries the contributions and failures of the administration in the economic development of Nigeria with the instrument of foreign policy. Guided by the Systems theory, and Pluralist interdependence model, it argues that though the administration made some achievements that it left much to be desired in the economic development of the country as the image of the country remained battered with corruption. It recommended among other things that corruption should be tackled head-on as a way of assurance to the international community that Nigeria is now fit for investment, which is key to greater economic development. …


Can the material for “Design and Implementation of a Computer Based Information System for SMEs” be used as a guide for Computer Science (CS) Project?

Yes it can be used — The software package used in this protect is virtual Basic which centered on solving the problem of relational small business activities arising from modern transactions For the fact that individual, private and public organization have problem of visiting their clients or business in different locals for a particular purpose, this then given the need of using complementary cards which may be thousands in numbers so, because of these cards in large number, it development a problem of sorting different organization in a particular location. This project will solve the above mentioned problem by a way of listing the relational information small business organization in a particular location at Enugu city to solve his directory problem with ease of getting the location of …


Can the material for “An Assessment on the Activities of Fraudsters Using ATM Pin” be used as a guide for Criminology and Security Studies Project?

Yes it can be used — Automated Teller Machine frauds are illegalities connected to the businesses and operations on ATMs. This includes acts such as identity theft, pin misplacement, card theft, password hacking and electronic fund transfer. The aim of the study is to assess the Activities of Fraudsters using ATM Pin. In achieving this aim, the following specific objectives were laid out to know the relationship between ATM fraud and fraud, examine the ways by which these frauds are committed, and know the measures that central bank of Nigeria has taken to mitigate this fraud. The research design used in this report is descriptive design, utilizing questionnaire method to obtain information from the respondents for this project. A total of 150 (one hundred and fifty) …


Can the material for “Effect of Computerization on the Growth Viability and Profitability of First Bank Plc” be used as a guide for Banking and Finance (BF) Project?

Yes it can be used — The main purpose of this project is to study the effect of this project on the growth, viability and profitability of First Bank Plc. To achieve this objective successfully. The researcher has to take into consideration the meaning of computer as an electronic devices. The researcher also has to consider the misconceptions about computer. It is seen as a tools of estimation of the amount of work involved and hindrance to computer application ion first bank Plc. The effect of computerization, growth liability and profitability in First Bank can be said to bring reduction in administrative cost and staff level and introduction of disciplinary measures which has led to increase in efficiency. The conclusion reached was that certain problems are encountered by First bank …


Can this topic “Design and Implementation of a Computerized Online Training Community Website” be used for Computer Science (CS) Project?

Yes it can be utilized for research — Online Training Community Website is a web-based environment that allows indigenes of a community to participate in live teaching and learning events without the need to travel. The aim of the study is to develop a Computerized Online Training Community Website using Agbarho Community in Ughelli North Local Government Area as a case study. In achieving this aim, the following specific objectives were laid out as follows to design an application that will provide alternative way of attaining education and facilitate the development of information technology. The motivation that led to the implementation of the proposed system is that community indigenes suffers a lot of setbacks in external exams due to the primitive nature of teaching system which they receive. …



Chat with us on WhatsApp