Network programming (secured client-secured chat application) | Blazingprojects Postgraduate Thesis
Home / Computer Science / Network programming (secured client-secured chat application)

Network programming (secured client-secured chat application)

 

Table Of Contents


Chapter ONE

INTRODUCTION

  • 1.1Introduction
  • 1.2Background of Study
  • 1.3Problem Statement
  • 1.4Objective of Study
  • 1.5Limitation of Study
  • 1.6Scope of Study
  • 1.7Significance of Study
  • 1.8Structure of the Research
  • 1.9Definition of Terms

Chapter TWO

LITERATURE REVIEW

  • 2.1Overview of Network Programming
  • 2.2Encryption Techniques in Secure Communication
  • 2.3Client-Server Architecture
  • 2.4Chat Application Protocols
  • 2.5Security Measures in Chat Applications
  • 2.6Real-time Communication Technologies
  • 2.7User Authentication Methods
  • 2.8Data Encryption Algorithms
  • 2.9Network Socket Programming
  • 2.10Multi-threading in Network Applications

Chapter THREE

SYSTEM DESIGN AND IMPLEMENTATION

  • 3.1Research Design
  • 3.2Data Collection Methods
  • 3.3Sampling Techniques
  • 3.4Data Analysis Procedures
  • 3.5Research Instruments
  • 3.6Ethical Considerations
  • 3.7Reliability and Validity
  • 3.8Research Limitations

Chapter FOUR

SYSTEM TESTING AND EVALUATION

  • 4.1Overview of Findings
  • 4.2Analysis of Secure Communication Protocols
  • 4.3Evaluation of Encryption Algorithms
  • 4.4Discussion on Network Performance
  • 4.5Comparison of Security Measures
  • 4.6User Experience Feedback
  • 4.7Implementation Challenges
  • 4.8Recommendations for Improvement

Chapter FIVE

SUMMARY, CONCLUSION AND RECOMMENDATIONS

  • 5.1Summary of Findings
  • 5.2Conclusion
  • 5.3Contributions to Knowledge
  • 5.4Implications for Practice
  • 5.5Recommendations for Future Research

Thesis Abstract

Abstract
Network programming is a critical area in computer science that involves the development of applications to communicate and exchange data over a network. In this project, a secured client-secured chat application is designed and implemented to ensure secure communication between clients over a network. The application utilizes various network programming concepts such as sockets, encryption algorithms, and multi-threading to establish secure connections and transmit encrypted messages. The primary objective of this project is to provide a secure platform for clients to communicate in real-time while ensuring the confidentiality and integrity of their messages. To achieve this, the application employs strong encryption techniques to encrypt messages before transmission and decrypt them upon reception. This ensures that even if the communication is intercepted, the messages remain confidential and secure. The design of the application includes a client-server architecture where clients connect to a central server to exchange messages. Each client is authenticated before establishing a connection to ensure that only authorized users can access the chat application. Additionally, the application supports multiple clients simultaneously through the use of multi-threading, allowing for efficient communication between clients without delays or bottlenecks. One of the key features of the secured chat application is end-to-end encryption, which ensures that messages are encrypted on the client-side before being sent over the network. This encryption mechanism protects the messages from eavesdroppers and unauthorized access, maintaining the privacy of the communication between clients. Furthermore, the application implements secure key exchange protocols to establish secure communication channels between clients and the server. In conclusion, the development of a secured client-secured chat application demonstrates the practical application of network programming concepts in ensuring secure communication over a network. By implementing strong encryption techniques, authentication mechanisms, and multi-threading, the application provides a secure platform for clients to communicate effectively while protecting the confidentiality and integrity of their messages. The successful implementation of this project highlights the importance of network security in modern communication systems and the significance of utilizing secure programming practices to safeguard sensitive information.

Thesis Overview

<p> </p><p><strong>1.1 INTRODUCTION</strong></p><p>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.</p><p>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.</p><p></p><p>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.</p><p>1.2 BACKGROUND OF THE STUDY</p><p>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.</p><p>A chat application is basically a combination of two applications:</p><ul><li>Server application</li><li>Client application</li></ul><p>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.</p><p>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.</p><p>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.</p><p><strong>Server Execution:</strong>&nbsp;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.</p><p><strong>Client Execution</strong>: 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.</p><p>1.3 STATEMENT OF THE PROBLEM</p><p>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.</p><p>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).</p><p>1.4 OBJECTIVES OF THE STUDY</p><p>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.</p><p>1.5 SIGNIFICANCE OF THE STUDY</p><p>Apart from just performing the regular client server chat, this client-server chat is robust and significant in the following ways:</p><p>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.</p><p>1.6 SCOPE OF THE STUDY</p><p>The project shall consider among other things the following issues:</p><p>1. To provide a better understanding of how network programming in java works.</p><p></p><p>2. Develop a reliable network communication for a Client-Server chat application.</p><p>3. Analyses of network programming in java (Multithreaded Client-Server Chat applications) for better understanding of the solutions.</p><p>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.</p><p>1.7 LIMITATIONS</p><p>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.</p><p>Some drawbacks of the Client-Server Chat are as follows:</p><ol><li>As the server receives as many requests from clients so there is a chance that server can become congested and overloaded.</li><li>In case of server fails then the users also suffers.</li><li>A lost password is irrecoverable.</li><li>Any unauthorized client can hack the client account and can change the data.</li></ol><p>1.8 ORGANISATION OF THE WORK</p><p>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.</p><p>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.</p><p>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.</p><p>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.</p><p>Chapter four is the implementation of the secured Java Client-Server Chat Application: it test and analysis the implementation of the application.<br>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.</p><p>1.9 DEFINITION OF TERMS</p><p><strong>Socket</strong>: 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.</p><p><strong>TCP:</strong>&nbsp;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.</p><p><strong>Client:</strong>&nbsp;A client is a system that accesses or desires for a service made accessible by a server.</p><p><strong>Server:</strong>&nbsp;A server is a system (hardware or software) program running to provide the service requests of other system programs.</p><p><strong>Port:</strong>&nbsp;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.</p><p><strong>Network:</strong>&nbsp;This refers to a system were computers are linked to share software, data, hardware and resources for the benefit of users.</p><p><strong>Interface:</strong>&nbsp;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.</p><p><strong>Secure socket layer (SSL):</strong>&nbsp;This refers to Secure Sockets Layer protocol that is used for encryption of data for secure data transmission.</p><p><strong>IP:</strong>&nbsp;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).</p><p><strong>Thread:</strong>&nbsp;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</p> <br><p></p>

Blazingprojects Mobile App

📚 Over 50,000 Research Thesis
📱 100% Offline: No internet needed
📝 Over 98 Departments
🔍 Thesis-to-Journal Publication
🎓 Undergraduate/Postgraduate Thesis
📥 Instant Whatsapp/Email Delivery

Blazingprojects App

Related Research

Anatomy. 2 min read

Comparative Analysis of Cranial Suture Morphology in Adults and Adolescents...

This research investigates how the sutures in the human skull differ between adolescents and adults. Cranial sutures are flexible joints where skull bones meet,...

BP
Blazingprojects
Read more →
Agricultural educati. 3 min read

Comparative analysis of digital literacy in agricultural education among rural and u...

This research focuses on understanding how well students in agricultural education can use digital technology, especially comparing students from rural areas wi...

BP
Blazingprojects
Read more →
Agric Extension. 3 min read

Comparative Analysis of Traditional vs. Digital Agricultural Extension Methods Impac...

This research investigates how different methods of communicating agricultural information affect farmers’ knowledge, practices, and productivity. Specificall...

BP
Blazingprojects
Read more →
Agric Economics. 4 min read

Comparative Analysis of Smallholder Coffee and Tea Farm Profitability in Eastern Reg...

This research aims to compare how profitable smallholder farms are when growing coffee versus tea in the eastern regions. Smallholder farmers are critical to th...

BP
Blazingprojects
Read more →
Agric and Bioresourc. 3 min read

Comparative Analysis of Solar Drying Efficiency for Cocoa Beans in Tropical Climates...

This research focuses on comparing how effectively different types of solar dryers work for drying cocoa beans in tropical climates. Cocoa beans are often dried...

BP
Blazingprojects
Read more →
General Studies. 4 min read

Developing an AI-Powered Platform for Personalized Lifelong Learning Strategies...

This research focuses on creating an intelligent digital platform that helps individuals plan and manage their lifelong learning journeys in a personalized way....

BP
Blazingprojects
Read more →
Secretarial studies. 2 min read

Implementing AI-powered Virtual Assistants for Enhanced Office Secretarial Efficienc...

This research explores how AI-powered virtual assistants can improve the efficiency of office secretaries, someone who manages routine tasks, schedules, communi...

BP
Blazingprojects
Read more →
Science Education. 3 min read

Evaluating Augmented Reality Tools to Enhance Science Concept Comprehension in High ...

This research examines how augmented reality (AR) tools can help high school students better understand science concepts. Augmented reality is a technology that...

BP
Blazingprojects
Read more →
Petroleum engineerin. 4 min read

Development of AI-based Real-Time Drilling Parameter Monitoring System...

This research focuses on creating a smart system that uses artificial intelligence (AI) to monitor drilling parameters in real-time during oil and gas explorati...

BP
Blazingprojects
Read more →
WhatsApp Click here to chat with us