1.1 Introduction
Cooperation Networking is a network consisting of a variety of entities (e.g. organizations and people) that are largely autonomous, geographically distributed, and heterogeneous in terms of their operating environment, culture, social capital and goals, but that collaborates to better achieve common or compatible goals, and whose interactions are supported by computer networks. The discipline of Cooperation networks focuses on the structure, behavior, and evolving dynamics of networks of autonomous entities that collaborate to better achieve common or compatible goals (Wikipedia, 2021).
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.
Network systems in company’s (shell petroleum development company) have given room to unauthorized users to get access to their information. There by, introducing viruses, hacking of information, electronic fraud, as well as detecting and deleting company’s vital document. However, absolute security is not achievable in practice. Nevertheless an improved method of security measures now provides certain degree of security of information since some of the data shared between users are confidential in nature or should be available to relatively few to be stored and transmitted information unit in other to check illicit monitoring and illegal access.
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.
…