Você está na página 1de 23

TRAINING REPORT

ON
MULTI CHAT
SYSTEM.

R O H A N G U P TA
14114802713
B.TECH [CSE]- V SEMESTER
MAHARAJA AGRASEN INSTITUTE OF TECHNOLOGY

TRAINING REPORT
ON
Multi Chat System
(Messenger)
Summer training work
Submitted in partial fulfillmentof the Requirements for the award of the degree of
B.Tech (Vth Semester)
Bachelors Degree of Computer Science &Engineering
MAHARAJA AGRASEN INSTITUTE OF TECHNOLOGY
(2013-2017)
By
Rohan Gupta
(14114802713)

Department of Computer Science and Engineering


Maharaja Agrasen Institute of Technology
Sector-22, Rohini, Delhi -110085

NAME: ROHAN GUPTA


14114802713

GROUP : 5C4
1

ENROLLMENT NUMBER :

INDEX
1. Acknowledgement
2. Certificate
3. Declaration given by the student.
4. Preface
5. Organization Introduction
6. Contents
7. List of Tables
8. List of Figures
9. Conclusion
10. References / Bibliography

NAME: ROHAN GUPTA


14114802713

GROUP : 5C4
2

ENROLLMENT NUMBER :

ACKNOWLEDGEMENT

Every successful venture has the blessings and the support of many behind it. It would be unjust if every
such support is not revealed and thanked in person as well as in the published report. It is because of
these people who guide us to successful lives and we should always convey our thanks to them.

First and foremost, I would like to thank DUCAT Training Institute(Noida) which offers great
summer training courses. This project would have never been possible without their invaluable support
and guidance on JAVA programming. Their willingness to motivate me contributed tremendously. I
would also like to thank them for showing different types of ideas, data and codes of that related to the
topic of my project. Beside this a very warm thanks to my friends who greeted me all the time in this
project.

I want to thank my parents for their unconditional support towards the training program. I want to thank
God for the blessings he has bestowed upon me.
Finally, I would also like to thank
Dr. Namita Gupta, Head of Department, Computer Science and Engineering for providing me with
the opportunity to work on this project and help me in whatever way she could.

Place: New Delhi

Rohan Gupta

Date: 26 August, 2015

14114802713

NAME: ROHAN GUPTA


14114802713

GROUP : 5C4
3

ENROLLMENT NUMBER :

CERTIFICATE

NAME: ROHAN GUPTA


14114802713

GROUP : 5C4
4

ENROLLMENT NUMBER :

NAME: ROHAN GUPTA


14114802713

GROUP : 5C4
5

ENROLLMENT NUMBER :

DECLARATION

I hereby declare that the project work entitled MULTI CHAT SYSTEM submitted
to MAHARAJA AGRASEN INSTITUTE OF TECHNOLOGY affiliated to GURU GOBIND
SINGH INDRAPRASTHA UNIVERSITY, is a record of an original work done by me under the
guidance of DUCAT NOIDA as a part of the Summer Training done by me over a period of 1.5 months
dated between 16 June, 2015 to 28 July, 2015. This project work has not performed the basis for the
award of any Degree/Diploma/Associate ship/Fellowship and similar project if any.

ROHAN GUPTA
14114802713
B.TECH [CSE]
5THSEMESTER
MAIT

NAME: ROHAN GUPTA


14114802713

GROUP : 5C4
6

ENROLLMENT NUMBER :

PREFACE

This project report of the summer training done in the months of June-July consists of the
details of the project and the course studied by me. I worked upon the JAVA technology as my
base language for the whole program. The program is a window based desktop application on
the topic of Multi Chat System. The project includes basic functioning of a chat system .
The technologies used in the project include Server Socketing, Swing, Multithreading,
Exception Handling, Event Handling. It is a GUI based project with buttons , labels, textfields,
labels, tables, panels, jframes. I have also used the short cuts for various purposes based on the
project.
The project is made as a demonstration of the technical knowledge and working knowledge of
JAVA language which we learnt in the summer training. The software is not for any sale or
production purposes and is solely for the basis of education. The project is in a jar file which
can be run from the cmd using the JVM interface.
The Basic Objective behind doing this project is to get knowledge and practice of the concepts
of Java. In this project report I have included the various tables, images and the screenshots of
the project that was made. Doing this Project helped me to enhance my knowledge regarding
the concepts of Java and Networking and came to know the importance of devotion towards the
work.

NAME: ROHAN GUPTA


14114802713

GROUP : 5C4
7

ENROLLMENT NUMBER :

DUCAT
Ducat is an information technology services, consulting and software company having its headquarters
in New Delhi, India.
DUCAT is a leading name in the computer training industry. We are known for
churning out globally competent professionals who are miles ahead of others in
skill set, knowledge and ability to deliver. We have a wide bouquet of IT courses
that are industry centric and job oriented. These courses have enabled many
fresher find jobs and the experienced professionals advance in their career. Most
of our students have proved to be productive in their endeavors from the very
beginning with little or no training.
Ducat knows when students approach an institute they expect more values than
the books on technology can offer .Hence our IT courses are designed and
delivered by consultants working in the specific technologies .The students get
triple benefit of in-depth understanding of the technology and its practical real
time application.
Ducat courses are for individuals as well as for corporate. We also undertake
customization of the courses to training milestones of the organizations. We are
also in software development, instructor led campus workshops and placement
services. We conduct placement assistance workshops and placement services.
We conduct placement assistance workshops frequently to prepare our students to
face interviews and also provide placement assistance.
Since its incorporation in 1975, DUCAT has an enviable record of successfully building IT solutions for
massive and complex infrastructure and market projects DUCAT's customer orientation and service
culture lead to enduring bonds with clients. Its distinct value proposition and service culture, coupled
with our track record of successful service delivery, are reflected in long-standing customer
relationships with dominant players in key infrastructure, services and government sectors.Its customers
include some of the biggest organisations in India: Reserve Bank of India, Indian Railways, Indian Oil
Corporation Limited, Bharat Petroleum Corporation Limited, Oil and Natural Gas Corporation Limited,
United Western Bank, Bank of India and Bank of Baroda.

NAME: ROHAN GUPTA


14114802713

GROUP : 5C4
8

ENROLLMENT NUMBER :

CONTENTS
INTRODUCTION TO JAVA
JAVA is an object oriented programming language which was originally named OAK. It was developed
by SUN MICROSYSTEMS, USA in 1991. Java was designed to meet the need for a platform
independent language. It is used to create applications that can run on a single computer as well on a
distributed network. The java program works on any type of compatible device that support java.

Need for java:

The primary motive behind developing java language was the need for a portable & platformindependent language. You can use java to develop network-oriented programs because networking
features are built-in features in java. You can use java to write a variety of applications. A few types of
java application are:

Application that use Character User Interface (CUI):

Applications are executable program that are controlled by the operating system. These applications
have an access to the system resources, such as file system and can read & write to files on local
computers.

Application that uses Graphical User Interface (GUI):

These applications are used in the window environment. In GUI, you interact with the application in
graphical mode.

Characteristics of java:
o

Objects

Classes

Inheritance

Data Encapsulation

NAME: ROHAN GUPTA


14114802713

GROUP : 5C4
9

ENROLLMENT NUMBER :

Polymorphism

Overloading

Reusability

Multithreading

Objects:

An object in JAVA is essentially a block of memory that contains space to store all instance variables.
Creating an object is also referred to an instantiating an object. Object in JAVA are created using new
operator. The new operator creates an object of the specified class and returns a preference to that
object. Here is an e.g. of creating an object of type rectangle.
Rectangle Rect1;

// declare the object

Both statements can be combined into as shown below


Rectangle Rect1 = new Rectangle ();

Classes:
Classes are data types based on which objects are created. Objects with similar properties and
methods are grouped together to form a Class. Thus a class represents a set of individual objects.
Characteristics of an object are represented in a class as properties. The actions that can be
performed by objects become functions of the class and are referred to as methods. No memory is
allocated when a class is created. Memory is allocated only when an object is created, i.e., when an
instance of a class is created.

Inheritance:

Inheritance is the process of forming a new class from an existing class or base class. The base class is
also known as parent class or super class, the new class that is formed is called derived class. Derived
class is also known as a child classorsub class. Inheritance helps in reducing the overall code size of the
program, which is an important concept in object-oriented programming. Java supports three types of
inheritance simple, hierarchical and multilevel inheritance, but it not support multiple and hybrid
inheritance.

Data Abstraction:

Data Abstraction increases the power of programming language by creating user defined data types.
Data Abstraction also represents the needed information in the program without presenting the details.

NAME: ROHAN GUPTA


14114802713

GROUP : 5C4
10

ENROLLMENT NUMBER :

Data Encapsulation:

Data Encapsulation combines data and functions into a single unit called class. When using Data
Encapsulation, data is not accessed directly; it is only accessible through the functions present inside the
class. Data Encapsulation enables the important concept of data hiding possible.

Polymorphism:

Polymorphism allows routines to use variables of different types at different times. An operator or
function can be given different meanings or functions. Polymorphism refers to a single function or
multi-functioning operator performing in different ways.

Overloading:

Overloading is one type of Polymorphism. It allows an object to have different meanings, depending on
its context. When an existing operator or function begins to operate on new data type, or class, it is
understood to be overloaded. Overloading is of two types which are Operator Overloading and Function
Overloading.

Reusability:

This term refers to the ability for multiple programmers to use the same written and debugged existing
class of data. This is a time saving device and adds code efficiency to the language. Additionally, the
programmer can incorporate new features to the existing class, further developing the application and
allowing users to achieve increased performance. This time saving feature optimizes code, helps in
gaining secured applications and facilitates easier maintenance on the application.

Multithreading:

Java supports Multithreading programming which allow programmer to write programs that do many
things simultaneously. The implementation of each of the above object-oriented programming features
for Java will be highlighted in later sections.

INTRODUCTION TO APPLETS
An Applet is a special kind of Java program that is designed to be transmitted over the internet and
automatically executed by a Java compatible web browser. Applets are intended to be a small program.
They are typically used to display data provided by the server, handle user input, or provide simple
functions, such as long calculator, that execute locally, rather than on the server. In essence, the Applet
allows some functionality to be moved from server to the client. After an Applet arise on the client, it
has limited access to resources so that it can produce a graphical user interface and run complex
computations without introducing the risk of viruses or breaching data integrity.
The Applet begins with two import statements:
NAME: ROHAN GUPTA
14114802713

GROUP : 5C4
11

ENROLLMENT NUMBER :

Import java.awt.*;
Import java.applet.*;
The first statement imports the abstract window toolkit package. Applets interact with the user through
the awt, not through the console-based I/O classes.
The second import statement imports the applet package, which contains the class applet. Every applet
that programmer create must be a sub class of applet.
Points to be remembered:
1. Applet do not need a main() method.
2. Applet must be run under an appletviewer or a java compatible browser.
3. User I/O is not accomplished with Javas stream I/O classes. Instead applet use the interface
provided by the awt or swing.

INTRODUCTION TO EVENT HANDLING


Event handlers are those who recognize what action has to be performed at what time. Some event
handlers are given below:

ActoinListener

ActionPerformed

KeyListener

MouseListener

Introduction to Swings
Swings were introduced in 1997, to overcome the drawbacks of AWT. Swings were initially available
for use with Java 1.1 as a separate library. However beginning with java 1.2, swing was fully integrated
with java.
Swing (GUI) contains two key items:
NAME: ROHAN GUPTA
14114802713

GROUP : 5C4
12

ENROLLMENT NUMBER :

Components

Containers

The difference between the two is found in their intended purpose. A component is an independent
visual control such as push buttons or slider. A container holds a group of components. All the swing
GUI does will have at least one container because container is components, a container can also hold
other containers. All swings components are represented by class defined within the package
javax.swing.
Some of the classes in swing package are:
JAppelet, JLabel, JButton, JCheckBox, JComboBox etc.

JTextField:

JTextField allow you to edit one line of text. It is derived from JTextComponents, which provides the
basic functionality common to swing text components. JTextField uses the document interface for its
model. Three of JtextFeild constructors are given below:
JTextField(int cols);
JTextField(string str, int cols);
JTextField(string str);

JButton:

The JButton class provides the functionality of a push button. JButton allows an icon, a string, or both
to be associated with the push button. Three of its constructors are show below:
JButton(Icon icon);
JButton(String str);
JButton(String str, Icon icon);

NAME: ROHAN GUPTA


14114802713

GROUP : 5C4
13

ENROLLMENT NUMBER :

About the Project


Multi User Chat System is an application through which the user can communicate with
other users connected in the same network area(LAN).This works under any operating
system and is programmed in java.
To establish a communication between the systems, we need simple socket connections
in order them in a network.
Socket programming uses the client socket and server socket methods to connect the
local host to the named host and port.
The communication between various users is done using server client model.
We use the many of networking techniques available in in java.

NAME: ROHAN GUPTA


14114802713

GROUP : 5C4
14

ENROLLMENT NUMBER :

Hence,we need simple classes of networking package in order to establish a server


client prototype.
A server is a system(software and suitable computer hardware) that responds to requests
across a computer network service.
Servers can be run on a dedicated computer, but many networked computers are
capable of hosting servers.In many cases , a computer can provide several services and
have several servers running.
Servers are computer programs running to serve the requests of other programs,the
clients.Thus ,the server performs some task on behalf of clients.The clients typically
connect to the server through the network but may run on same computer.In the context
if Internet Protocol (IP) networking, a server is a program that operates as a socket
listner.
When a user types something into their chat window, their message will be sent as a
string through a DataOutputStream.
When the server recieves the message,through a DataInputStream, it will send this same
message to all users, again as a string through a DataOutputStream.
The users will use a DataInputStream to receive the message.

LIST OF FIGURES / OUTPUTS / SCREENSHOTS

NAME: ROHAN GUPTA


14114802713

GROUP : 5C4
15

ENROLLMENT NUMBER :

Fig 1-Starting the Server

Fig 2-Log In by the Client

NAME: ROHAN GUPTA


14114802713

GROUP : 5C4
16

ENROLLMENT NUMBER :

Fig 3-Chat Box for a particular Client

NAME: ROHAN GUPTA


14114802713

GROUP : 5C4
17

ENROLLMENT NUMBER :

Similarly other clients may also Log In

Fig 4-

NAME: ROHAN GUPTA


14114802713

Log In by other Clients

GROUP : 5C4
18

ENROLLMENT NUMBER :

Fig 5-Chatting between Clients

NAME: ROHAN GUPTA


14114802713

GROUP : 5C4
19

ENROLLMENT NUMBER :

Fig 6- Logging out by the Client

CONCLUSION
Our project is only a humble venture to demonstrate the simple bank management system
for desktop pc, it is user friendly. Several user friendly coding have been adopted. This
package shall prove to be a powerful tool for satisfying all the requirements of an
organization.
The objective of software planning is to provide a frame work that enables the manger to
make reasonable estimates made within a limited time frame at the beginning of the
software project and should be updated regularly as the project progresses.

References& Bibliography

Following book and websites were referenced during the project1


2
3
4

The Complete Reference JAVA 9th Edition


http://www.javatpoint.com/java-tutorial
http://www.w3schools.com/sql/
http://www.jdbc-tutorial.com

NAME: ROHAN GUPTA


14114802713

GROUP : 5C4
20

ENROLLMENT NUMBER :

NAME: ROHAN GUPTA


14114802713

GROUP : 5C4
21

ENROLLMENT NUMBER :

THANK
YOU

NAME: ROHAN GUPTA


14114802713

GROUP : 5C4
22

ENROLLMENT NUMBER :

Você também pode gostar