














































Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
Community
Ask the community for help and clear up your study doubts
Discover the best universities in your country according to Docsity users
Free resources
Download our free guides on studying techniques, anxiety management strategies, and thesis advice from Docsity tutors
The design and implementation of a web chat application that utilizes a client-server architecture. The application allows multiple clients to connect to a central server and engage in real-time communication. The functional and non-functional requirements, design diagrams, source code for both the server and client programs, and implementation details. It also includes a performance analysis section that examines the application's methodology, analytics, and outputs. The conclusion discusses the project's achievements and future scope. This comprehensive guide provides valuable insights into the development of a web-based chat application, covering topics such as socket programming, server-client interactions, and the java swing gui framework. The document could be useful for students, developers, or researchers interested in understanding the principles and implementation of a client-server-based chat application.
Typology: Lecture notes
1 / 54
This page cannot be seen from the preview
Don't miss anything!
I hereby declare that the work presented in this report entitled “WebChat App” in partial fulfilment of the requirements for the award of the degree of Bachelor of Technology in Computer Science and Engineering/Information Technology submitted in the department of Computer Science & Engineering and Information
record of my own work carried out over a period from May 2020 to June 2020 under the supervision of Dr. Hari Singh , Assistant Professor (SG) , Department of Computer Science & Engineering and Information Technology. The matter embodied in the report has not been submitted for the award of any other degree or diploma. Aryan Pal Singh Roll No - 161236 This is to certify that the above statement made by the candidate is true to the best of my knowledge. Dr. Hari Singh Assistant Professor (SG) Department of Computer Science & Engineering and IT Dated:
In this project, one can do live chat with others. For this we use server-client architecture. In this, we used to have a server and with this server different clients can connect. Now, in order to establish connection with server with clients we use the concept of socket programming. Now let me throw some light on socket programming. Since for a machine to connect with other machine there is need of socket. So with the help of sockets server, can also connect to different clients and thus data transfer can take place in very efficient way. In this server program will run on server and during the time server program is running, client will also run its program from respective computer and matching the IP address and port number of server connection will take place and data transmission can occur. Similarly, various clients can connect to server through server’s port number. Thus, client will send request to server for connection and server will respond to request and thus live chat will take place on server between various clients connected to server.
This project is about how different users can communicate in real time with each. With real time it can said to communicate live with each other on a single platform. So to make this thing possible we have a communication platform for chatting which is client server architecture.In this application, we will have various clients who can join a private or public server and can communicate with other clients using that server. In this world we have different platforms which uses this concept like youtube. In youtube, when someone do live streaming you will see various people are chatting side by side of video in real time. So here there is a server of youtube and we have various users as clients who are connected to that server and it is server-client architecture through which it was possible that all users were able to have a communication with other clients in present time on a single platform. Now in this chat app to communicate through machines of individuals and server we have a thing in each machine known as sockets. These are only sockets through which it was possible for different machines to establish connection with each other. This establishment of different machines is possible only due to socket programming. Due to socket programming it is possible for machines to have end to end communication and send data from one device to other. Now we will see about sockets in detail in system development section. There is one more application where this web chat is brought in great use.
1.2 Problem Statement In todays world everyone in there life is busy in race of achieving goals and for that they need to run a lot from here to there. Also these days, if any big meeting is to be done or any big gatherings are needed to be held then a person will think many times for attending it considering the factors of traffic jam on his way, facilities for having night stays there. Recently whole world is suffering from viruses like corona where it is impossible to have social gatherings. So to overcome these problem we need a platform where people can virtually attended meetings and do talking to each other in live. So web chat app can be a very good and efficient solution to this problem. Using socket programming and client-server architecture it is very easy to do remote chatting for users from there homes. But practically it is not possible that everyone has a computer and he can do web chatting. So it is also platform independent. As these days a cheaper smartphone is available with sockets as is capable of doing virtual live chats. So no matter how far you are the only thing required is any type of connection with server and one can use the benefits of web chat. Now major question is how to achieve this communication. For this we will use client-server architecture approach. In this different clients located at different locations can connect to a common server by knowing the address of server and server will distribute the data of one server with other users. Now working of this chat app will be seen in implementation section.
1.3 Objective The main objective or we can say that fundamental objective of Web Chat application is to provide chatting service to all users connected to a particular server. So that they can have easy, fast and real time communication with each other. Whenever a new user want to join the server, his/her request is accepted and then server respond with it and thus user gets connected and become a part of this live chat. Whatever data is transferred by a user to server is distributed to all users connected to that particular server. 1.4 Methodology Main aim of Web Chat Application is to connect various users to a common server. The main method used in this is server-client architecture. In this we will have a server program which will be executed initially and then client program will be executed. Then client will send request to the server by knowing the address of server and on reflection server will give response to that specific client and connection will be established between them. This is done due to the presence of sockets in each machine. Then after setting up connection data will be sent out by a machine using output stream buffer to the server. Server will accept data using input stream buffer and to distribute this data to other clients server will use its output stream buffer. Similarly other clients can also follow same method to do live web chatting.
These days social networking is very common thing which is performed by people. Social networking is the thing which not only deals with text or sentences but also deals with pictures which we have achieved to operate the picture for performing face detection and finding the expressions. In an organisation, colleagues working there can send and get reply of messages instantly in very less time without having face to face conversation, and in the mean time the report of work can be shared/sent instantly during the chat session. With this application it is possible to have virtual conference without getting all the people together in a meeting room physically present. Doing instant messages for company communication is more efficient than making phone calls or doing emails. Various clients can do chatting concurrently. Dependent on a conference call or doing electronic mail message for meeting with colleagues is time consuming, but with this application everybody can join and have a discussion on various topics in very less time. If you really want to have fast communication then this application is far better than e-mails. With the support of fast messages one can send a message and get response of message in very few seconds. This chat program is built in combination of two or more concepts by using Ionic Framework 3.6.0 which makes use of Angular 4.3.* and in order to store data we use database we have mongodb as Firebase and in backend programming we are making use of node.js Express.
Now, the architecture constitute of client and server module which include the given below steps:
Figure 2. Figure 2.
Basically java socket programming is brought in use for communicating between different applications executing on various Java Runtime Environment. Java Socket programming can have two types of mediums to communicate. Communications can be connection-oriented or can be connection-less. If we talk about connection-oriented sockets then for those we have classes like Socket and ServerSocket while, for connection-less socket programming we have Datagram Socket and Datagram packet classes. The client who are doing socket programming should know two things about server:
Figure 2. The web chat application is based on client - server architecture within a Local Area Network. This client server model of doing computing is basically a distributed application that do pieces of tasks between the provider of resource or we can say that service called servers and service requesters are called clients. The Server side always would be continuously running service listening to a different - different clients enquiring its service. The servers will maintain database of users. Whenever a client makes login to the application, the Server immediately makes authentication of the user. Once the user is been authenticated the IP address of the client/user will registered to the list of the Server and user transmits that list of online client partners and remaining relevant data to the Client/user. When the client wants to have some chat with any other user, then that user’s IP address along with his Port address would be sent to the client and vice versa. So a connection would take place and the two clients would be able to chat with each other.
In this research we have a detailed discussion on client-server application with the use of socket programming in an environment where we have distributed computing. In this the researchers have programmed a client-server based application known as OpTel Billing System in short known as OBS on platform of java Netbeans and TCP datagram to explain the fundamentals of socket programming and is transmissions in distributed computing. Style of socket programming, design of interface, classes of java and exception handling are also considered part of development stage. Mainly the analysis by researcher was made on communication process between client and server by making use of socket programming. Also analysis and examination is done on classes used in this programming. According to these researchers, basically sockets of devices is a two-way link between client and sever codes which are executing in environment of network. It is a very efficient way of communication process. Figure 2. Figure 2.