SlideShare a Scribd company logo
1 of 39
Download to read offline
A Project Report
                           on

          Chat Application




                           Submitted By:
                             Kumar Gaurav (MRT09UGBCS013)



Faculty of Electronics, Informatics & Computer Engineering
                        2012-13
CERTIFICATE

             This is to certify that the project work under titled as

                         Chat Application
                           Is the bonfire work of

                   Kumar Gaurav (MRT09UGBCS013)

during this project submission as a partial fulfillment of the requirement for the
System Design Project of Bachelor in Technology VII Semester, of the Shobhit
University, Meerut.




Project Supervisor (C.E. Branch)                       H.O.D of Computer Dept.
ACKNOWLEDGEMENT


If words are considered as a symbol of approval and token of appreciation then let
the words play the heralding role expressing my gratitude.

The satisfaction that accompanies that the successful completion of any task
would be incomplete without the mention of people whose ceaseless
cooperation made it possible, whose constant guidance and encouragement
crown all efforts with success. We are grateful to our project guide Ms. Sangeeta
Solanki for the guidance, inspiration and constructive suggestions that helpful us in
the preparation of this project. We also thank our colleagues who have helped in
successful completion of the project.



Kumar Gaurav
Table of contents

Sr. No   Topic                                       Page Number
  1      Introduction                                    05
  2      System Analysis                                 07
         2.1 Definition                                  07
         2.2 Description of Present System               07
         2.3 Limitation of Present System                07
         2.4 Proposed System                             08
         2.5 Feasibility Study                           08
         2.6 Project Planning & Scheduling               11
         2.7 Software Engineering Paradigm Applied       13
  3      System Specification                            14
         3.1 H/W Specification                           14
         3.2 S/W Specification                           15
  4      Organization Profile                            16
  5      Specification of Language                       17
  6      System Design                                   24
         6.1 Output Design                               24
         6.2 Input Design                                25
         6.3 Logical Design                              25
         6.4 Data Flow Diagram                           26
         6.5 Data Directory                              32
         6.6 ER Diagram                                  34
         6.7 Process Modal                               36
  7      Coding                                          37
  8      Testing                                         40
  9      Security                                        42
 10      Screen Shots                                    43
 11      Future Enhancement                              49
 12      Conclusion                                      50
 13      Bibliography                                    51
INTRODUCTION
1. INTRODUCTION
Teleconferencing or Chatting, is a method of using technology to bring people and ideas
“together” despite of the geographical barriers. The technology has been available for years but
the acceptance it was quit recent. Our project is an example of a chat server. It is made up of 2
applications the client application, which runs on the user’s Pc and server application, which
runs on any Pc on the network. To start chatting client should get connected to server where
they can practice two kinds of chatting, public one (message is broadcasted to all connected
users) and private one (between any 2 users only) and during the last one security measures
were taken.
SYSTEM ANALYSIS

2.1 System Objectives


    Communication over a network is one field where this tool finds wide ranging application.
Chat application establishes a connection between 2 or more systems connected over an intra-
net or ad-hoc. This tool can be used for large scale communication and conferencing in an
organization or campus of vast size, thus increasing the standard of co-operation. In addition it
converts the complex concept of sockets to a user friendly environment. This software can have
further potentials, such as file transfer and voice chatting options that can be worked upon later.

2.2 Relation to External Environment


 This tool helps in two major aspects -

    Resolving the names of all the system connected in a network and enlisting them.
    Used for communication between multiple systems enlisted in the resolved list.

2.3 Design Considerations


Approach:

    The tool has been designed using C# (Windows Form Application).



Methodology:

    The user interacts with the tool using a GUI.

    The GUI operates in two forms, the List form & the chat form.
    The List form contains the names of all the systems connected to a network.
    The chat form makes the actual communication possible in the form of text.
2.4 System Architecture


The chat application works in two forms.

    List form:
     In this form, all the names of the systems connected to a network are enlisted. These
     names can later be used for communication with the help of mouse event, or in simple
     language: a click or a double click.

    Chat form
     This form is called only when an element is selected from the List form. In this form, a
     connection is created between the host system and the selected system with the help of a
     socket.

Flow Chart


                               START




                               List Form

                       (List of names of systems




                               Is name                                    List
                               selecte                                    Form
                               d                                          Close?
           No                                 No
Yes                          Yes




           Establish connection between
                                                          Stop
            host and selected system




                     Chat form

      (Text messages sent and received as packets




                         Form
                         closed
Yes                               No
2.5 Operational Concepts and Scenarios


Operation of the application based on the inputs given by the user:

List Form:

      When initialized, returns a list containing the names of all the system connected in a
       network.
    Contains two buttons: Refresh and Connect.
    When Refresh button is clicked refreshes the list of names.
    When the Connect button is clicked or a name is double clicked, the chat form is
       initialized with a connection between the host and the client machine.
    Note: If no name is selected, and connect button is clicked an error box is displayed.
Chat form:

       Contains a rich textbox which cannot be edited but only displays the messages from one
        user to another, including the self sent message, as in any chat application.
       Contains a textbox for messages to be written that is sent across the network.
       Contains a Send button.
       When the sent button is clicked, in the background, the text in the textbox is encoded
        and sent as a packet over the network to the client machine. Here this message is
        decoded and is shown in the rich textbox.
       To make it more realistic, the self sent message is shown in the rich textbox as well. Both
        the messages is differentiated by the help of the identifier name at the beginning of each
        message in the rich text box.
EXIT:

   The user exits the software in two scenarios:

     Exits the chat form, the list form remains intact.
Exits the list form, this is when the application is closed.
SYSTEM SPECIFICATION
3.1 Hardware requirements
In hardware requirement we require all those components which will provide us the platform
for the development of the project. The minimum hardware required for the development of
this project is as follows—

       Ram- minimum 128 MB
       Hard disk—minimum 5 GB
       Processor- Pentium 3
       Floppy drive 1.44” inch
       CD drive
These all are the minimum hardware requirement required for our project. We want to make
our project to be used in any. Type of computer therefore we have taken minimum
configuration to a large extent.128 MB ram is used so that we can execute our project in a least
possible RAM.5 GB hard disk is used because project takes less space to be executed or stored.
Therefore minimum hard disk is used. Others enhancements are according to the needs.



3.2 Software requirements
Software’s can be defined as programs which run on our computer .it act as petrol in the vehicle.
It provides the relationship between the human and a computer. It is very important to run
software to function the computer. Various software’s are needed in this project for its
development.

Which are as follows—?

       Operating system—Windows 7
       Others—Visual Studio


We will be using visual basic as our front hand because it is easier to use and provides features to
the users which is used for the development of the project.
SOFTWARE ARCHITECTURE
4.1.1 Socket Overview
A socket is an object that represents a low level access point to the IP stack. This socket can be
opened or closed or one of a set number of intermediate states. A socket can send and receive
data down disconnection. Data is generally sent in blocks of few kilobytes at a time for
efficiency; each of these block are called a packet.

All packets that travel on the internet must use the Internet Protocol. This means that the
source IP address, destination address must be included in the packet. Most packets also contain
a port number. A port is simply a number between 1 and 65,535 that is used to differentiate
higher protocols. Ports are important when it comes to programming your own network
applications because no two applications can use the same port.

Packets that contain port numbers come in two flavors: UDP and TCP/IP. UDP has lower latency
than TCP/IP, especially on startup. Where data integrity is not of the utmost concerned, UDP can
prove easier to use than TCP, but it should never be used where data integrity is more important
than performance; however, data sent by UDP can sometimes arrive in the wrong order and be
effectively useless to the receiver. TCP/IP is more complex than UDP and has generally longer
latencies, but it does guarantee that data does not become corrupted when travelling over the
internet. TCP is ideal for file transfer, where a corrupt file is more unacceptable than a slow
download; however, it is unsuited to internet radio, where the odd sound out of place is more
acceptable than long gaps of silence.

 4.1.2 UDP Ports
The User Datagram Protocol is an unreliable, connectionless oriented protocol that uses an IP
address for the destination host and a port number to identify the destination application.

The UDP port number is distinct from any physical port on a computer such as a COM port or an
I/O port address. The UDP port is a 16-bit address that exists only for the purpose of passing
certain types of datagram information to the correct location above the transport layer of the
protocol stack.

A UDP datagram header consists of four (4) fields of two bytes each:

   1.   source port number
   2.   destination port number
   3.   datagram size
   4.   checksum
4.1.3 Using UDP Sockets


In order to use a UDP socket for network programming one has to follow the following steps as
shown in figure given below:




       Create a UDP
       socket




End point is a combination of IP address and port number. Endpoint objects allow you to easily
establish and communicate over TCP/IP network connections between client and server processes,
possibly residing on different hosts. The Endpoint class follows a telephone-like model of networking:
clients "call" servers and servers "answer" clients. Once a network connection is established between a
client and a server, the two can "talk" to each other by reading from and writing to the connection.



4.2 Software Process Model



The Software Process Model used is the Spiral Model. The choice for this model is in the light of the
enhancements that we foresee for the future. The enhancements would be in the area of Networks being
introduced into the software.




4.3 Process Modules



The functionalities and responsibilities of the system were partitioned and then assigned
to subsystems or components as described below.




4.3.1 Graphical User Interface



The user interface that the software provides to the user is interactive. It provides two different forms,
one for list of systems and the other for the actual text chatting.




4.3.2 Resolving Names



This module handles the code that is necessary to view the different aspewcts of the network
connections in a system. It uses “net.exe” to resolve the names of the system connected to a network to
which the host system is also connected. It then enlists these names into the first form of the application.




4.3.3 Connection



This module deals with the establishment of a connection between the host system and the system
selected from the list. The connection is made by the help of sockets that uses ports to send and receive
packets from one system to another. The message sent or received is coded and is encoded or decode
respectively.


4.4 Conclusion



This chapter has given a broad picture of the design of the software in terms of the different modules
used. It also gives us an idea about the degree to which each module performs related tasks. We also get
an idea about the interdependence among the modules.
Chapter 5

                                System Design Detail

5.1 GUI Module Name and Description

This module deals with the application’s interface with the end user. All the user inputs (refreshing,
connecting, chatting) are captured here.

5.1.1 Design Alternatives


    Structured programming approach is used as the tool has been developed in                 Win64
     platform.

5.1.2 Design Details


      At a minimum, the following should be described -



     a) Processing within module
We develop the user interface for the application through which the user interacts with the tool. It
      consists of a main window and boxes which are displayed as per the menu selections made by the
      user. There are different controls such as edit controls, buttons etc which are used to get the user
      inputs.




      b) Error checking
      Errors occurring because of connection problems. Errors occurring due to incorrect input by the
      user.




5.2 Resolving Names Module Name and Description

In this module the application resolves the names of the systems connected to a network. These names
are displayed in the form of a list.

5.2.1 Design Alternatives


     Structured programming approach is used as the tool has been developed in Win64 platform.
     Object oriented approach is an alternative to this.



5.2.2 Design Details


        At a minimum, the following should be described
a)Processing within modules
          We provide two buttons: Refresh and Connect to the user, to provide input on the basis of
          selection using mouse event. This module consists of the following two sub-modules




     REFRESH:
        This refreshes the list of names indicating to the respective systems connected in the network.

     CONNECT:
        This connects the host system to the selected system (if any) and opens the next form with this
        connection. If no system is selected, then an error message is shown, which tells a user to select a
        system first.




    b) Error checking

          Errors occurring during file saving operations.




5.2.3 Assumptions
         All IP addresses fall in the same range.
         Firewall is turned off for intranet.




5.3 Connection Modules Names and Description


 In this module the user communicates with the desired user in the form of text. A connection is formed
between the host system and the desired user with the help of sockets which itself uses ports for packet
data transfer.
5.3.1 Design Alternatives


   Structured programming approach is used as the tool has been developed in Win64
    platform.

   Object Oriented approach is an alternative to this.



5.3.2 Design Details


      At a minimum, the following should be described –




a) Processing within modules
   We show a windows form application that makes communication graphic oriented and user friendly.
    Three GUI interfaces are captured under this:




   TEXTBOX :
    Here the user enters the message to be sent to the remote user.




   RICH TEXTBOX:
    In this module the message sent is pasted under host name and the message received

    displayed under the remote users name.




   SEND BUTTON:
    When this button is pressed, the message in the textbox is displayed in the rich

    textbox under the host’s name and also it is sent over the network to the remote

    machine where it is displayed in the textbox under the sender’s name.
b) Error checking

     Errors occurring during file opening operations



5.3.3 Assumptions


        All IP addresses fall in the same range.
        Firewall is turned off for intranet.

     Testing
   Glen Myers states a number of rules that can serve well as testing objectives. Testing is a process of
 executing a program with the intent of finding an error. We can test our project MNM Chat using various
 methods but the main objective is that when:-

     1. The first form displays all the systems connected to a network correctly.
     2. A successful connection is created and communication is possible via text synchronously.



 6.1 TESTING OBJECTIVES:


   Unit testing is the testing of the individual components (units) of the software. Unit testing is
 conducted as part of a combined code and unit test phase of the software lifecycle, although it is not
 uncommon for coding and unit testing to be conducted as two distinct phases.

   When developing a strategy for unit testing, there are three basic organizational approaches that can
 be taken. These are top down, bottom up and isolation. In our case of MNM Chat we simply use top
 down approach. There are two sub options in our project first one is Form1 mode, which is the listing
 part and second one is Form2 mode which is chat box. In the first case we just test for the correct
 resolution of names of systems connected to a network. And in the second mode our motive is to obtain
 a two way communication between the host user and remote user. And we are very much successful
 here in our test case.
6.2 Integration Testing:
After the unit testing we have to perform integration testing. The goal here is to see if modules can be
integrated properly, the emphasis being on testing interfaces between modules. After the modules are
connected we have perform the total testing.




6.3 SYSTEM TESTING:


    System testing is the process of executing software in a controlled manner, in order to answer the
questions "Does the software behave as specified?"

System testing is often used in association with the terms verification and validation .Verification is the
checking of items, including software, for conformance and consistency with an associated specification.
Software testing is just one kind of verification, which also uses techniques such as reviews, analysis,
inspections and walkthroughs. Validation is the process of checking that what has been specified is what
the user actually wanted.




        Validation: Are we doing the right job?



        Verification: Are we doing the job right?
The test strategies will include five different types of testing as describes below:-




1. Logical Testing: This will be used to test every aspect of both modes, report and query as soon as it is
implemented, using valid, invalid and extreme data test data will be added to test each code module and
results compared with the expected results. Sufficient data will be added to ensure that there is at least
one entry in each category.

Subsequent tests will often involved adding new data, which will be deleted when the test works
satisfactorily.

As per our requirement we have also included some field such as character size etc and then queries
were performed after that results were tabulated and then the module were free from extra field.




2. Functional Testing: - In this menu items were tested to ensure no functions has been missed out. This
is done for the smooth working of the project.




3. System Testing: - This is done after the completion of system; all the queries were carried out again to
ensure that no errors have been introduced.
Chapter 7


            System Implementation And Maintenance


7.1 Implementation
Implementation is a vital step in ensuring the success of new system even a well designed system can fail
if it is not a properly implemented. Implementation activities are needed to transform a newly developed
information system into an operational system for end users.




7.1.1 Acquiring Hardware Software And Services:


These resources acquired from many sources in the computer industry. Some sources are as follows

a-hardware- IBM, HP, Apple computer etc.

b- software- Microsoft, Oracle etc.




7.1.2 Testing:




Testing of a developed system is an important implementation activity. System testing and debugging
computer programs and testing information processing procedures.




7.1.3 Training methods:



A-Vendor and in service training-Vendor offers extensive educational programs as part of their services
.the courses by experiences trainers and sales personnel ,cover all aspects of using the equipment
.participant actually use the system in the presence of trainer. It questions arise, they can quickly be
answered.




B- In house training- It is offered by special purchased instructional materials training manuals on site.
7.1.4 System documentation:



Installing and operating a newly designed system or modifying an established application requires a
detailed record of that system’s design. Documentation is important in diagnosing errors and making
channel .documentation serves as a method of communication among the people responsible for
developing implementing and maintaining a system.




7.2 Maintenance



  Once a system is fully implemented & being operated by end user & the maintenance function begins
.System maintenance is the monitoring to evaluating &modifying of operational information system to
make desirable or necessary improvements .for example the implementation of a new system usually
results in the phenomenon known as the leaning curve .person who operates &use the system will make
mistakes simply because the are not familiar with it .Though such errors usually diminished experience is
gained with a new system ,they do point out areas where system may be improved . Maintenance is also
necessary for the failures and problems that arise during the operation of a system .the maintenance
activity includes a post implementation of a system review process to ensure that newly implemented
system meet the system development objective established for them . Errors in the development of a
system must be corrected by the maintenance process .this includes a periodic review or audit of a
system to ensure on operating system &meeting its objective.
Chapter 8

                          Contribution In The Project
A project is successfully completed only when there is contribution of all the members of a team. Each
member in the project has a required objective to accomplish .In same way to complete this project we
divided our work in equal manner .Instead of selecting a particular task to do individually, we divided a
single task in multiple subtasks so that we all can work together on the same phase or task of the project.
Doing so no team member had to wait to show his or her capabilities.
Chapter9


        Limitation And Future Enhancement Conclusion



9.1 Limitations

There are mainly two limitations of the project and that are:
         The firewall is to be disabled for intra network.
         It is dependent on the specific algorithm used.




9.2 Future Enhancement Conclusion



There is always a room for improvements in any software package, however good and efficient it may be
done. But the most important thing should be flexible to accept further modification. Right now we are
just dealing with text communication. In future this software may be extended to include features such
as:

           File transfer: this will enable the user to send files of different formats to others via the chat
            application.
           Voice chat: this will enhance the application to a higher level where communication will be
            possible via voice calling as in telephone.
           Video chat: this will further enhance the feature of calling into video communication.
APPENDIX [A]

                                              Source Code

Form1.cs

//Code for the first form that enlists the names:



//library classes

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms;

using System.Diagnostics;

using System.Net;

using System.Net.Sockets;

using System.IO;



namespace Chat_App

{

    public partial class Form1 : Form

    {

        Form2 frm1; //object for next form
int portNo = 1; //ports to be used

    public Form1()

    {

        InitializeComponent();

    }



//code for resolving names on initialization



    private void Form1_Load(object sender, EventArgs e)

    {

        Process netUtility = new Process();

        netUtility.StartInfo.FileName = "net.exe";

        netUtility.StartInfo.CreateNoWindow = true;

        netUtility.StartInfo.Arguments = "view";

        netUtility.StartInfo.RedirectStandardOutput = true;

        netUtility.StartInfo.UseShellExecute = false;

        netUtility.StartInfo.RedirectStandardError = true;

        netUtility.Start();

       StreamReader      streamReader       =            new      StreamReader(netUtility.StandardOutput.BaseStream,
netUtility.StandardOutput.CurrentEncoding);

        string line = "";



        while ((line = streamReader.ReadLine()) != null)

        {

            if (line.StartsWith(""))

            {

                lbNames.Items.Add(line.Substring(2).Substring(0, line.Substring(2).IndexOf(" ")).ToUpper());
}

        }

        /* if (lbNames.ItemHeight == 0)

        {wwww

            lbNames.Items.Add("No systems connected..nPleace check LAN");

        }*/

        streamReader.Close();

        netUtility.WaitForExit(1000);

        this.lbNames.MouseDoubleClick += new MouseEventHandler(lbNames_MouseDoubleClick);

    }



    private void lbNames_SelectedIndexChanged(object sender, EventArgs e)

    {



    }



//refresh button



    private void button1_Click(object sender, EventArgs e)

    {

        lbNames.Items.Clear();

        Process netUtility = new Process();

        netUtility.StartInfo.FileName = "net.exe";

        netUtility.StartInfo.CreateNoWindow = true;

        netUtility.StartInfo.Arguments = "view";

        netUtility.StartInfo.RedirectStandardOutput = true;

        netUtility.StartInfo.UseShellExecute = false;
netUtility.StartInfo.RedirectStandardError = true;

        netUtility.Start();

       StreamReader      streamReader       =            new      StreamReader(netUtility.StandardOutput.BaseStream,
netUtility.StandardOutput.CurrentEncoding);

        string line = "";

        while ((line = streamReader.ReadLine()) != null)

        {

            if (line.StartsWith(""))

            {

                lbNames.Items.Add(line.Substring(2).Substring(0, line.Substring(2).IndexOf(" ")).ToUpper());

            }

        }

        /*if (lbNames.ItemHeight == 0)

        {

        * lbNames.Items.Add("No systems connected..nPleace check LAN");

        }*/

        streamReader.Close();

        netUtility.WaitForExit(1000);

    }



//connect button



    private void button2_Click(object sender, EventArgs e)

    {

        if (lbNames.SelectedItem == null) //error message box

        {

            Form3 frm = new Form3();
frm.Show();

            }

            else

            {

                frm1 = new Form2(portNo, lbNames.SelectedItem.ToString());

                frm1.Show();

                portNo++;

            }

        }

        void lbNames_MouseDoubleClick(object sender, MouseEventArgs e)

        {

            int index = this.lbNames.IndexFromPoint(e.Location);

            if (index != System.Windows.Forms.ListBox.NoMatches)

            {

                frm1 = new Form2(portNo, lbNames.SelectedItem.ToString());

                frm1.Show();

                portNo++;

            }

        }

    }

}

Form 2.cs

//code for the second form which is the actual chatting part



//library classes



using System;
using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms;

using System.Net;

using System.Net.Sockets;

using System.IO;

using System.Threading;



namespace Chat_App

{

    public partial class Form2 : Form

    {

        Thread thdUDPServer;

        int portNo;

        string serverName;



        public Form2(int port, string name)

        {

            portNo = port;

            serverName = name;

            InitializeComponent();

        }
//thread for synchronous data transfer



    public void serverThread()

    {

        UdpClient udpClient = new UdpClient(portNo);

        while (true)

        {

            IPEndPoint RemoteIpEndPoint = new IPEndPoint(IPAddress.Any, portNo);

            Byte[] recieveBytes = udpClient.Receive(ref RemoteIpEndPoint); //receiving data

            string returnData = Encoding.ASCII.GetString(recieveBytes);

            lbConnections.AppendText(serverName + ":" + returnData.ToString() + "n");

        }

    }



    private void Form2_Load(object sender, EventArgs e)

    {

        chatBox.Focus();

        thdUDPServer = new Thread(new ThreadStart(serverThread)); //thread object for sockets

        thdUDPServer.Start();

    }



    private void lbConnections_TextChanged(object sender, EventArgs e)

    {



    }



    private void chatBox_TextChanged(object sender, EventArgs e)
{



}



private void button1_Click(object sender, EventArgs e)

{

    UdpClient udpClient1 = new UdpClient(); //socket object for data transfer using UDP protocol

    udpClient1.Connect(serverName, portNo);

    Byte[] sendBytes = Encoding.ASCII.GetBytes(chatBox.Text); //encoding

    if (chatBox.TextLength != 0)

    {

        string hostName = Dns.GetHostName().ToString();

        udpClient1.Send(sendBytes, sendBytes.Length); //sending to remote user

        lbConnections.AppendText(hostName + ":" + chatBox.Text + "n");

        lbConnections.ScrollToCaret();

    }

    chatBox.Clear();

    chatBox.Focus();

}



private void copyToolStripMenuItem_Click(object sender, EventArgs e)

{

    Clipboard.Clear();

    chatBox.Copy();



}
//cut, copy, paste commands



private void copyToolStripMenuItem1_Click(object sender, EventArgs e)

        {

            Clipboard.Clear();

            lbConnections.Copy();

        }



        private void cutToolStripMenuItem_Click(object sender, EventArgs e)

        {

            Clipboard.Clear();

            chatBox.Cut();

        }



        private void pasteToolStripMenuItem_Click(object sender, EventArgs e)

        {

            chatBox.AppendText(Clipboard.GetText());

        }

    }

}



Form3.cs

//code for error message



using System;

using System.Collections.Generic;

using System.ComponentModel;
using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms;



namespace Chat_App

{

    public partial class Form3 : Form

    {

        public Form3()

        {

            InitializeComponent();

        }



        private void label1_Click(object sender, EventArgs e)

        {



        }



        private void button1_Click(object sender, EventArgs e)

        {

            Form3.ActiveForm.Close();

        }

    }

}
APPENDIX [B]

                                              Output

One of the most important principles of Software Design is to keep the software simple yet effective. This
has been the guiding force during the design phase of our software. And the Interface that we provide is
no exception. Against the backdrop of this ideology we design a simple yet very effective interface.




                                                Ad-Hoc
A project report on chat application

More Related Content

What's hot

SRS FOR CHAT APPLICATION
SRS FOR CHAT APPLICATIONSRS FOR CHAT APPLICATION
SRS FOR CHAT APPLICATIONAtul Kushwaha
 
Social Networking Project (website) full documentation
Social Networking Project (website) full documentation Social Networking Project (website) full documentation
Social Networking Project (website) full documentation Tenzin Tendar
 
Face recognition attendance system
Face recognition attendance systemFace recognition attendance system
Face recognition attendance systemNaomi Kulkarni
 
Chat Application - Requirements Analysis & Design
Chat Application - Requirements Analysis & DesignChat Application - Requirements Analysis & Design
Chat Application - Requirements Analysis & DesignRajon
 
SRS(software requirement specification)
SRS(software requirement specification)SRS(software requirement specification)
SRS(software requirement specification)Akash Kumar Dhameja
 
SRS for online examination system
SRS for online examination systemSRS for online examination system
SRS for online examination systemlunarrain
 
Railway Reservation System - Software Engineering
Railway Reservation System - Software EngineeringRailway Reservation System - Software Engineering
Railway Reservation System - Software EngineeringLalit Pal
 
Software requirement specification for online examination system
Software requirement specification for online examination systemSoftware requirement specification for online examination system
Software requirement specification for online examination systemkarthik venkatesh
 
Mini Project on Data Encryption & Decryption in JAVA
Mini Project on Data Encryption & Decryption in JAVAMini Project on Data Encryption & Decryption in JAVA
Mini Project on Data Encryption & Decryption in JAVAchovatiyabhautik
 
Online Examination System Report
Online Examination System ReportOnline Examination System Report
Online Examination System ReportAnkan Banerjee
 
Online Examination System Project report
Online Examination System Project report Online Examination System Project report
Online Examination System Project report SARASWATENDRA SINGH
 
Student result mamagement
Student result mamagementStudent result mamagement
Student result mamagementMickey
 
SRS for Hospital Management System
SRS for Hospital Management SystemSRS for Hospital Management System
SRS for Hospital Management Systemkataria Arvind
 
Chat Application | RSD
Chat Application | RSDChat Application | RSD
Chat Application | RSDRajon
 
Online Quiz System Project Report ppt
Online Quiz System Project Report pptOnline Quiz System Project Report ppt
Online Quiz System Project Report pptKishan Maurya
 
Web Development on Web Project Report
Web Development on Web Project ReportWeb Development on Web Project Report
Web Development on Web Project ReportMilind Gokhale
 
SRS for Library Management System
SRS for Library Management SystemSRS for Library Management System
SRS for Library Management SystemToseef Hasan
 

What's hot (20)

SRS FOR CHAT APPLICATION
SRS FOR CHAT APPLICATIONSRS FOR CHAT APPLICATION
SRS FOR CHAT APPLICATION
 
Chat application
Chat applicationChat application
Chat application
 
Atm project
Atm projectAtm project
Atm project
 
Project report on blogs
Project report on blogsProject report on blogs
Project report on blogs
 
Social Networking Project (website) full documentation
Social Networking Project (website) full documentation Social Networking Project (website) full documentation
Social Networking Project (website) full documentation
 
Face recognition attendance system
Face recognition attendance systemFace recognition attendance system
Face recognition attendance system
 
Chat Application - Requirements Analysis & Design
Chat Application - Requirements Analysis & DesignChat Application - Requirements Analysis & Design
Chat Application - Requirements Analysis & Design
 
SRS(software requirement specification)
SRS(software requirement specification)SRS(software requirement specification)
SRS(software requirement specification)
 
SRS for online examination system
SRS for online examination systemSRS for online examination system
SRS for online examination system
 
Railway Reservation System - Software Engineering
Railway Reservation System - Software EngineeringRailway Reservation System - Software Engineering
Railway Reservation System - Software Engineering
 
Software requirement specification for online examination system
Software requirement specification for online examination systemSoftware requirement specification for online examination system
Software requirement specification for online examination system
 
Mini Project on Data Encryption & Decryption in JAVA
Mini Project on Data Encryption & Decryption in JAVAMini Project on Data Encryption & Decryption in JAVA
Mini Project on Data Encryption & Decryption in JAVA
 
Online Examination System Report
Online Examination System ReportOnline Examination System Report
Online Examination System Report
 
Online Examination System Project report
Online Examination System Project report Online Examination System Project report
Online Examination System Project report
 
Student result mamagement
Student result mamagementStudent result mamagement
Student result mamagement
 
SRS for Hospital Management System
SRS for Hospital Management SystemSRS for Hospital Management System
SRS for Hospital Management System
 
Chat Application | RSD
Chat Application | RSDChat Application | RSD
Chat Application | RSD
 
Online Quiz System Project Report ppt
Online Quiz System Project Report pptOnline Quiz System Project Report ppt
Online Quiz System Project Report ppt
 
Web Development on Web Project Report
Web Development on Web Project ReportWeb Development on Web Project Report
Web Development on Web Project Report
 
SRS for Library Management System
SRS for Library Management SystemSRS for Library Management System
SRS for Library Management System
 

Viewers also liked

Lan chat system
Lan chat systemLan chat system
Lan chat systemWipro
 
Report on online chatting
Report on online chattingReport on online chatting
Report on online chattingAmandeep Kaur
 
Android College Application Project Report
Android College Application Project ReportAndroid College Application Project Report
Android College Application Project Reportstalin george
 
Wifi Direct Based Chat And File Transfer Android Application
Wifi Direct Based Chat And File Transfer Android ApplicationWifi Direct Based Chat And File Transfer Android Application
Wifi Direct Based Chat And File Transfer Android ApplicationNitin Bhasin
 
Synopsis on android application
Synopsis on android applicationSynopsis on android application
Synopsis on android applicationJawed akhtar
 
Abstract
AbstractAbstract
Abstractthen123
 
Tutorial su JMS (Java Message Service)
Tutorial su JMS (Java Message Service)Tutorial su JMS (Java Message Service)
Tutorial su JMS (Java Message Service)Federico Paparoni
 
Enterprise Messaging With ActiveMQ and Spring JMS
Enterprise Messaging With ActiveMQ and Spring JMSEnterprise Messaging With ActiveMQ and Spring JMS
Enterprise Messaging With ActiveMQ and Spring JMSBruce Snyder
 
Introduction to JMS and Message-Driven POJOs
Introduction to JMS and Message-Driven POJOsIntroduction to JMS and Message-Driven POJOs
Introduction to JMS and Message-Driven POJOsMatt Stine
 
project
projectproject
projectdnraj
 
Social media project with Kakaotalk, Wechat, Snapchat
Social media project with Kakaotalk, Wechat, SnapchatSocial media project with Kakaotalk, Wechat, Snapchat
Social media project with Kakaotalk, Wechat, Snapchatbohoihwang
 
React Native Firebase Realtime Database + Authentication
React Native Firebase Realtime Database + AuthenticationReact Native Firebase Realtime Database + Authentication
React Native Firebase Realtime Database + AuthenticationKobkrit Viriyayudhakorn
 
JMS - Java Messaging Service
JMS - Java Messaging ServiceJMS - Java Messaging Service
JMS - Java Messaging ServicePeter R. Egli
 
My Project Report Documentation with Abstract & Snapshots
My Project Report Documentation with Abstract & SnapshotsMy Project Report Documentation with Abstract & Snapshots
My Project Report Documentation with Abstract & SnapshotsUsman Sait
 
java Project report online banking system
java Project report online banking systemjava Project report online banking system
java Project report online banking systemVishNu KuNtal
 

Viewers also liked (19)

Lan chat system
Lan chat systemLan chat system
Lan chat system
 
Report on online chatting
Report on online chattingReport on online chatting
Report on online chatting
 
Android College Application Project Report
Android College Application Project ReportAndroid College Application Project Report
Android College Application Project Report
 
Wifi Direct Based Chat And File Transfer Android Application
Wifi Direct Based Chat And File Transfer Android ApplicationWifi Direct Based Chat And File Transfer Android Application
Wifi Direct Based Chat And File Transfer Android Application
 
Synopsis on android application
Synopsis on android applicationSynopsis on android application
Synopsis on android application
 
Abstract
AbstractAbstract
Abstract
 
Tutorial su JMS (Java Message Service)
Tutorial su JMS (Java Message Service)Tutorial su JMS (Java Message Service)
Tutorial su JMS (Java Message Service)
 
Enterprise Messaging With ActiveMQ and Spring JMS
Enterprise Messaging With ActiveMQ and Spring JMSEnterprise Messaging With ActiveMQ and Spring JMS
Enterprise Messaging With ActiveMQ and Spring JMS
 
Introduction to JMS and Message-Driven POJOs
Introduction to JMS and Message-Driven POJOsIntroduction to JMS and Message-Driven POJOs
Introduction to JMS and Message-Driven POJOs
 
project
projectproject
project
 
Hii - Chat Application
Hii - Chat ApplicationHii - Chat Application
Hii - Chat Application
 
Social media project with Kakaotalk, Wechat, Snapchat
Social media project with Kakaotalk, Wechat, SnapchatSocial media project with Kakaotalk, Wechat, Snapchat
Social media project with Kakaotalk, Wechat, Snapchat
 
React Native Firebase Realtime Database + Authentication
React Native Firebase Realtime Database + AuthenticationReact Native Firebase Realtime Database + Authentication
React Native Firebase Realtime Database + Authentication
 
How to create a chat application on Android platform?
How to create a chat application on Android platform? How to create a chat application on Android platform?
How to create a chat application on Android platform?
 
JMS - Java Messaging Service
JMS - Java Messaging ServiceJMS - Java Messaging Service
JMS - Java Messaging Service
 
My Project Report Documentation with Abstract & Snapshots
My Project Report Documentation with Abstract & SnapshotsMy Project Report Documentation with Abstract & Snapshots
My Project Report Documentation with Abstract & Snapshots
 
Core java slides
Core java slidesCore java slides
Core java slides
 
java Project report online banking system
java Project report online banking systemjava Project report online banking system
java Project report online banking system
 
whatsapp ppt
whatsapp pptwhatsapp ppt
whatsapp ppt
 

Similar to A project report on chat application

FINAL PRESENTATION
FINAL PRESENTATIONFINAL PRESENTATION
FINAL PRESENTATIONPraahas Amin
 
Advanced Communication over LAN AJCSE Advanced Communication over LAN
Advanced Communication over LAN AJCSE Advanced Communication over LANAdvanced Communication over LAN AJCSE Advanced Communication over LAN
Advanced Communication over LAN AJCSE Advanced Communication over LANBRNSSPublicationHubI
 
Crap shit head
Crap shit headCrap shit head
Crap shit headShash
 
A tlm based platform to specify and verify component-based real-time systems
A tlm based platform to specify and verify component-based real-time systemsA tlm based platform to specify and verify component-based real-time systems
A tlm based platform to specify and verify component-based real-time systemsijseajournal
 
Automatic answer checker
Automatic answer checkerAutomatic answer checker
Automatic answer checkerYesu Raj
 
127801976 mobile-shop-management-system-documentation
127801976 mobile-shop-management-system-documentation127801976 mobile-shop-management-system-documentation
127801976 mobile-shop-management-system-documentationNitesh Kumar
 
Instant message
Instant  messageInstant  message
Instant messagekplshrm222
 
IP Messenger And File Transfer over Ethernet LAN
IP Messenger And File Transfer over Ethernet LANIP Messenger And File Transfer over Ethernet LAN
IP Messenger And File Transfer over Ethernet LANdbpublications
 
Tcp performance Final Report
Tcp performance Final Report Tcp performance Final Report
Tcp performance Final Report ambitlick
 
The Magic Of Application Lifecycle Management In Vs Public
The Magic Of Application Lifecycle Management In Vs PublicThe Magic Of Application Lifecycle Management In Vs Public
The Magic Of Application Lifecycle Management In Vs PublicDavid Solivan
 
Rapidly Building Next Generation Web-based EDA Applications and Platforms fro...
Rapidly Building Next Generation Web-based EDA Applications and Platforms fro...Rapidly Building Next Generation Web-based EDA Applications and Platforms fro...
Rapidly Building Next Generation Web-based EDA Applications and Platforms fro...Arun Joseph
 
Topic3 Enterprise Application Integration
Topic3 Enterprise Application IntegrationTopic3 Enterprise Application Integration
Topic3 Enterprise Application Integrationsanjoysanyal
 
Aspect Oriented Programming Through C#.NET
Aspect Oriented Programming Through C#.NETAspect Oriented Programming Through C#.NET
Aspect Oriented Programming Through C#.NETWaqas Tariq
 
SathishKumar Natarajan
SathishKumar NatarajanSathishKumar Natarajan
SathishKumar NatarajanSathish Kumar
 
Software design specification
Software design specificationSoftware design specification
Software design specificationSubhashiniSukumar
 

Similar to A project report on chat application (20)

Documentation
DocumentationDocumentation
Documentation
 
FINAL PRESENTATION
FINAL PRESENTATIONFINAL PRESENTATION
FINAL PRESENTATION
 
Subbu_WM
Subbu_WMSubbu_WM
Subbu_WM
 
Advanced Communication over LAN AJCSE Advanced Communication over LAN
Advanced Communication over LAN AJCSE Advanced Communication over LANAdvanced Communication over LAN AJCSE Advanced Communication over LAN
Advanced Communication over LAN AJCSE Advanced Communication over LAN
 
Crap shit head
Crap shit headCrap shit head
Crap shit head
 
A tlm based platform to specify and verify component-based real-time systems
A tlm based platform to specify and verify component-based real-time systemsA tlm based platform to specify and verify component-based real-time systems
A tlm based platform to specify and verify component-based real-time systems
 
Automatic answer checker
Automatic answer checkerAutomatic answer checker
Automatic answer checker
 
127801976 mobile-shop-management-system-documentation
127801976 mobile-shop-management-system-documentation127801976 mobile-shop-management-system-documentation
127801976 mobile-shop-management-system-documentation
 
Public voice
Public voicePublic voice
Public voice
 
Onine exam 1
Onine exam 1Onine exam 1
Onine exam 1
 
Instant message
Instant  messageInstant  message
Instant message
 
IP Messenger And File Transfer over Ethernet LAN
IP Messenger And File Transfer over Ethernet LANIP Messenger And File Transfer over Ethernet LAN
IP Messenger And File Transfer over Ethernet LAN
 
Tcp performance Final Report
Tcp performance Final Report Tcp performance Final Report
Tcp performance Final Report
 
The Magic Of Application Lifecycle Management In Vs Public
The Magic Of Application Lifecycle Management In Vs PublicThe Magic Of Application Lifecycle Management In Vs Public
The Magic Of Application Lifecycle Management In Vs Public
 
Rapidly Building Next Generation Web-based EDA Applications and Platforms fro...
Rapidly Building Next Generation Web-based EDA Applications and Platforms fro...Rapidly Building Next Generation Web-based EDA Applications and Platforms fro...
Rapidly Building Next Generation Web-based EDA Applications and Platforms fro...
 
Topic3 Enterprise Application Integration
Topic3 Enterprise Application IntegrationTopic3 Enterprise Application Integration
Topic3 Enterprise Application Integration
 
System structure
System structureSystem structure
System structure
 
Aspect Oriented Programming Through C#.NET
Aspect Oriented Programming Through C#.NETAspect Oriented Programming Through C#.NET
Aspect Oriented Programming Through C#.NET
 
SathishKumar Natarajan
SathishKumar NatarajanSathishKumar Natarajan
SathishKumar Natarajan
 
Software design specification
Software design specificationSoftware design specification
Software design specification
 

More from Kumar Gaurav

Brief introduction to the c programming language
Brief introduction to the c programming languageBrief introduction to the c programming language
Brief introduction to the c programming languageKumar Gaurav
 
A project report on online trading
A project report on online tradingA project report on online trading
A project report on online tradingKumar Gaurav
 
Artificial intelligence
Artificial intelligenceArtificial intelligence
Artificial intelligenceKumar Gaurav
 
3g wireless technology
3g wireless technology3g wireless technology
3g wireless technologyKumar Gaurav
 
Surface computing1
Surface computing1Surface computing1
Surface computing1Kumar Gaurav
 

More from Kumar Gaurav (8)

Brief introduction to the c programming language
Brief introduction to the c programming languageBrief introduction to the c programming language
Brief introduction to the c programming language
 
Brain chips
Brain chipsBrain chips
Brain chips
 
A project report on online trading
A project report on online tradingA project report on online trading
A project report on online trading
 
Artificial intelligence
Artificial intelligenceArtificial intelligence
Artificial intelligence
 
Green computing
Green computingGreen computing
Green computing
 
3g wireless technology
3g wireless technology3g wireless technology
3g wireless technology
 
Surface computer
Surface computerSurface computer
Surface computer
 
Surface computing1
Surface computing1Surface computing1
Surface computing1
 

Recently uploaded

Full Stack Web Development Course for Beginners
Full Stack Web Development Course  for BeginnersFull Stack Web Development Course  for Beginners
Full Stack Web Development Course for BeginnersSabitha Banu
 
ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4MiaBumagat1
 
Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)Mark Reed
 
4.18.24 Movement Legacies, Reflection, and Review.pptx
4.18.24 Movement Legacies, Reflection, and Review.pptx4.18.24 Movement Legacies, Reflection, and Review.pptx
4.18.24 Movement Legacies, Reflection, and Review.pptxmary850239
 
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
Karra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptxKarra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptxAshokKarra1
 
ENGLISH6-Q4-W3.pptxqurter our high choom
ENGLISH6-Q4-W3.pptxqurter our high choomENGLISH6-Q4-W3.pptxqurter our high choom
ENGLISH6-Q4-W3.pptxqurter our high choomnelietumpap1
 
Earth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatEarth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatYousafMalik24
 
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...JhezDiaz1
 
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...Nguyen Thanh Tu Collection
 
Q4 English4 Week3 PPT Melcnmg-based.pptx
Q4 English4 Week3 PPT Melcnmg-based.pptxQ4 English4 Week3 PPT Melcnmg-based.pptx
Q4 English4 Week3 PPT Melcnmg-based.pptxnelietumpap1
 
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITYISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITYKayeClaireEstoconing
 
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPTECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPTiammrhaywood
 
Choosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for ParentsChoosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for Parentsnavabharathschool99
 
Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...Jisc
 
Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17Celine George
 
Keynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-designKeynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-designMIPLM
 

Recently uploaded (20)

Full Stack Web Development Course for Beginners
Full Stack Web Development Course  for BeginnersFull Stack Web Development Course  for Beginners
Full Stack Web Development Course for Beginners
 
ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4
 
Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)
 
4.18.24 Movement Legacies, Reflection, and Review.pptx
4.18.24 Movement Legacies, Reflection, and Review.pptx4.18.24 Movement Legacies, Reflection, and Review.pptx
4.18.24 Movement Legacies, Reflection, and Review.pptx
 
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
 
Karra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptxKarra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptx
 
ENGLISH6-Q4-W3.pptxqurter our high choom
ENGLISH6-Q4-W3.pptxqurter our high choomENGLISH6-Q4-W3.pptxqurter our high choom
ENGLISH6-Q4-W3.pptxqurter our high choom
 
Earth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatEarth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice great
 
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
 
YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptxYOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
 
Raw materials used in Herbal Cosmetics.pptx
Raw materials used in Herbal Cosmetics.pptxRaw materials used in Herbal Cosmetics.pptx
Raw materials used in Herbal Cosmetics.pptx
 
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
 
Q4 English4 Week3 PPT Melcnmg-based.pptx
Q4 English4 Week3 PPT Melcnmg-based.pptxQ4 English4 Week3 PPT Melcnmg-based.pptx
Q4 English4 Week3 PPT Melcnmg-based.pptx
 
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
 
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITYISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
 
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPTECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
 
Choosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for ParentsChoosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for Parents
 
Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...
 
Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17
 
Keynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-designKeynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-design
 

A project report on chat application

  • 1. A Project Report on Chat Application Submitted By: Kumar Gaurav (MRT09UGBCS013) Faculty of Electronics, Informatics & Computer Engineering 2012-13
  • 2. CERTIFICATE This is to certify that the project work under titled as Chat Application Is the bonfire work of Kumar Gaurav (MRT09UGBCS013) during this project submission as a partial fulfillment of the requirement for the System Design Project of Bachelor in Technology VII Semester, of the Shobhit University, Meerut. Project Supervisor (C.E. Branch) H.O.D of Computer Dept.
  • 3. ACKNOWLEDGEMENT If words are considered as a symbol of approval and token of appreciation then let the words play the heralding role expressing my gratitude. The satisfaction that accompanies that the successful completion of any task would be incomplete without the mention of people whose ceaseless cooperation made it possible, whose constant guidance and encouragement crown all efforts with success. We are grateful to our project guide Ms. Sangeeta Solanki for the guidance, inspiration and constructive suggestions that helpful us in the preparation of this project. We also thank our colleagues who have helped in successful completion of the project. Kumar Gaurav
  • 4. Table of contents Sr. No Topic Page Number 1 Introduction 05 2 System Analysis 07 2.1 Definition 07 2.2 Description of Present System 07 2.3 Limitation of Present System 07 2.4 Proposed System 08 2.5 Feasibility Study 08 2.6 Project Planning & Scheduling 11 2.7 Software Engineering Paradigm Applied 13 3 System Specification 14 3.1 H/W Specification 14 3.2 S/W Specification 15 4 Organization Profile 16 5 Specification of Language 17 6 System Design 24 6.1 Output Design 24 6.2 Input Design 25 6.3 Logical Design 25 6.4 Data Flow Diagram 26 6.5 Data Directory 32 6.6 ER Diagram 34 6.7 Process Modal 36 7 Coding 37 8 Testing 40 9 Security 42 10 Screen Shots 43 11 Future Enhancement 49 12 Conclusion 50 13 Bibliography 51
  • 5. INTRODUCTION 1. INTRODUCTION Teleconferencing or Chatting, is a method of using technology to bring people and ideas “together” despite of the geographical barriers. The technology has been available for years but the acceptance it was quit recent. Our project is an example of a chat server. It is made up of 2 applications the client application, which runs on the user’s Pc and server application, which runs on any Pc on the network. To start chatting client should get connected to server where they can practice two kinds of chatting, public one (message is broadcasted to all connected users) and private one (between any 2 users only) and during the last one security measures were taken.
  • 6. SYSTEM ANALYSIS 2.1 System Objectives Communication over a network is one field where this tool finds wide ranging application. Chat application establishes a connection between 2 or more systems connected over an intra- net or ad-hoc. This tool can be used for large scale communication and conferencing in an organization or campus of vast size, thus increasing the standard of co-operation. In addition it converts the complex concept of sockets to a user friendly environment. This software can have further potentials, such as file transfer and voice chatting options that can be worked upon later. 2.2 Relation to External Environment This tool helps in two major aspects -  Resolving the names of all the system connected in a network and enlisting them.  Used for communication between multiple systems enlisted in the resolved list. 2.3 Design Considerations Approach: The tool has been designed using C# (Windows Form Application). Methodology: The user interacts with the tool using a GUI.  The GUI operates in two forms, the List form & the chat form.  The List form contains the names of all the systems connected to a network.  The chat form makes the actual communication possible in the form of text.
  • 7. 2.4 System Architecture The chat application works in two forms.  List form: In this form, all the names of the systems connected to a network are enlisted. These names can later be used for communication with the help of mouse event, or in simple language: a click or a double click.  Chat form This form is called only when an element is selected from the List form. In this form, a connection is created between the host system and the selected system with the help of a socket. Flow Chart START List Form (List of names of systems Is name List selecte Form d Close? No No
  • 8. Yes Yes Establish connection between Stop host and selected system Chat form (Text messages sent and received as packets Form closed Yes No
  • 9. 2.5 Operational Concepts and Scenarios Operation of the application based on the inputs given by the user: List Form:  When initialized, returns a list containing the names of all the system connected in a network.  Contains two buttons: Refresh and Connect.  When Refresh button is clicked refreshes the list of names.  When the Connect button is clicked or a name is double clicked, the chat form is initialized with a connection between the host and the client machine.  Note: If no name is selected, and connect button is clicked an error box is displayed. Chat form:  Contains a rich textbox which cannot be edited but only displays the messages from one user to another, including the self sent message, as in any chat application.  Contains a textbox for messages to be written that is sent across the network.  Contains a Send button.  When the sent button is clicked, in the background, the text in the textbox is encoded and sent as a packet over the network to the client machine. Here this message is decoded and is shown in the rich textbox.  To make it more realistic, the self sent message is shown in the rich textbox as well. Both the messages is differentiated by the help of the identifier name at the beginning of each message in the rich text box. EXIT: The user exits the software in two scenarios:  Exits the chat form, the list form remains intact. Exits the list form, this is when the application is closed.
  • 10. SYSTEM SPECIFICATION 3.1 Hardware requirements In hardware requirement we require all those components which will provide us the platform for the development of the project. The minimum hardware required for the development of this project is as follows— Ram- minimum 128 MB Hard disk—minimum 5 GB Processor- Pentium 3 Floppy drive 1.44” inch CD drive These all are the minimum hardware requirement required for our project. We want to make our project to be used in any. Type of computer therefore we have taken minimum configuration to a large extent.128 MB ram is used so that we can execute our project in a least possible RAM.5 GB hard disk is used because project takes less space to be executed or stored. Therefore minimum hard disk is used. Others enhancements are according to the needs. 3.2 Software requirements Software’s can be defined as programs which run on our computer .it act as petrol in the vehicle. It provides the relationship between the human and a computer. It is very important to run software to function the computer. Various software’s are needed in this project for its development. Which are as follows—? Operating system—Windows 7 Others—Visual Studio We will be using visual basic as our front hand because it is easier to use and provides features to the users which is used for the development of the project.
  • 11. SOFTWARE ARCHITECTURE 4.1.1 Socket Overview A socket is an object that represents a low level access point to the IP stack. This socket can be opened or closed or one of a set number of intermediate states. A socket can send and receive data down disconnection. Data is generally sent in blocks of few kilobytes at a time for efficiency; each of these block are called a packet. All packets that travel on the internet must use the Internet Protocol. This means that the source IP address, destination address must be included in the packet. Most packets also contain a port number. A port is simply a number between 1 and 65,535 that is used to differentiate higher protocols. Ports are important when it comes to programming your own network applications because no two applications can use the same port. Packets that contain port numbers come in two flavors: UDP and TCP/IP. UDP has lower latency than TCP/IP, especially on startup. Where data integrity is not of the utmost concerned, UDP can prove easier to use than TCP, but it should never be used where data integrity is more important than performance; however, data sent by UDP can sometimes arrive in the wrong order and be effectively useless to the receiver. TCP/IP is more complex than UDP and has generally longer latencies, but it does guarantee that data does not become corrupted when travelling over the internet. TCP is ideal for file transfer, where a corrupt file is more unacceptable than a slow download; however, it is unsuited to internet radio, where the odd sound out of place is more acceptable than long gaps of silence. 4.1.2 UDP Ports The User Datagram Protocol is an unreliable, connectionless oriented protocol that uses an IP address for the destination host and a port number to identify the destination application. The UDP port number is distinct from any physical port on a computer such as a COM port or an I/O port address. The UDP port is a 16-bit address that exists only for the purpose of passing certain types of datagram information to the correct location above the transport layer of the protocol stack. A UDP datagram header consists of four (4) fields of two bytes each: 1. source port number 2. destination port number 3. datagram size 4. checksum
  • 12. 4.1.3 Using UDP Sockets In order to use a UDP socket for network programming one has to follow the following steps as shown in figure given below: Create a UDP socket End point is a combination of IP address and port number. Endpoint objects allow you to easily establish and communicate over TCP/IP network connections between client and server processes, possibly residing on different hosts. The Endpoint class follows a telephone-like model of networking: clients "call" servers and servers "answer" clients. Once a network connection is established between a client and a server, the two can "talk" to each other by reading from and writing to the connection. 4.2 Software Process Model The Software Process Model used is the Spiral Model. The choice for this model is in the light of the enhancements that we foresee for the future. The enhancements would be in the area of Networks being introduced into the software. 4.3 Process Modules The functionalities and responsibilities of the system were partitioned and then assigned
  • 13. to subsystems or components as described below. 4.3.1 Graphical User Interface The user interface that the software provides to the user is interactive. It provides two different forms, one for list of systems and the other for the actual text chatting. 4.3.2 Resolving Names This module handles the code that is necessary to view the different aspewcts of the network connections in a system. It uses “net.exe” to resolve the names of the system connected to a network to which the host system is also connected. It then enlists these names into the first form of the application. 4.3.3 Connection This module deals with the establishment of a connection between the host system and the system selected from the list. The connection is made by the help of sockets that uses ports to send and receive packets from one system to another. The message sent or received is coded and is encoded or decode respectively. 4.4 Conclusion This chapter has given a broad picture of the design of the software in terms of the different modules used. It also gives us an idea about the degree to which each module performs related tasks. We also get an idea about the interdependence among the modules.
  • 14.
  • 15. Chapter 5 System Design Detail 5.1 GUI Module Name and Description This module deals with the application’s interface with the end user. All the user inputs (refreshing, connecting, chatting) are captured here. 5.1.1 Design Alternatives  Structured programming approach is used as the tool has been developed in Win64 platform. 5.1.2 Design Details At a minimum, the following should be described - a) Processing within module
  • 16. We develop the user interface for the application through which the user interacts with the tool. It consists of a main window and boxes which are displayed as per the menu selections made by the user. There are different controls such as edit controls, buttons etc which are used to get the user inputs. b) Error checking Errors occurring because of connection problems. Errors occurring due to incorrect input by the user. 5.2 Resolving Names Module Name and Description In this module the application resolves the names of the systems connected to a network. These names are displayed in the form of a list. 5.2.1 Design Alternatives  Structured programming approach is used as the tool has been developed in Win64 platform.  Object oriented approach is an alternative to this. 5.2.2 Design Details At a minimum, the following should be described
  • 17. a)Processing within modules We provide two buttons: Refresh and Connect to the user, to provide input on the basis of selection using mouse event. This module consists of the following two sub-modules  REFRESH: This refreshes the list of names indicating to the respective systems connected in the network.  CONNECT: This connects the host system to the selected system (if any) and opens the next form with this connection. If no system is selected, then an error message is shown, which tells a user to select a system first. b) Error checking Errors occurring during file saving operations. 5.2.3 Assumptions  All IP addresses fall in the same range.  Firewall is turned off for intranet. 5.3 Connection Modules Names and Description In this module the user communicates with the desired user in the form of text. A connection is formed between the host system and the desired user with the help of sockets which itself uses ports for packet data transfer.
  • 18. 5.3.1 Design Alternatives  Structured programming approach is used as the tool has been developed in Win64 platform.  Object Oriented approach is an alternative to this. 5.3.2 Design Details At a minimum, the following should be described – a) Processing within modules We show a windows form application that makes communication graphic oriented and user friendly. Three GUI interfaces are captured under this:  TEXTBOX : Here the user enters the message to be sent to the remote user.  RICH TEXTBOX: In this module the message sent is pasted under host name and the message received displayed under the remote users name.  SEND BUTTON: When this button is pressed, the message in the textbox is displayed in the rich textbox under the host’s name and also it is sent over the network to the remote machine where it is displayed in the textbox under the sender’s name.
  • 19. b) Error checking Errors occurring during file opening operations 5.3.3 Assumptions  All IP addresses fall in the same range.  Firewall is turned off for intranet. Testing Glen Myers states a number of rules that can serve well as testing objectives. Testing is a process of executing a program with the intent of finding an error. We can test our project MNM Chat using various methods but the main objective is that when:- 1. The first form displays all the systems connected to a network correctly. 2. A successful connection is created and communication is possible via text synchronously. 6.1 TESTING OBJECTIVES: Unit testing is the testing of the individual components (units) of the software. Unit testing is conducted as part of a combined code and unit test phase of the software lifecycle, although it is not uncommon for coding and unit testing to be conducted as two distinct phases. When developing a strategy for unit testing, there are three basic organizational approaches that can be taken. These are top down, bottom up and isolation. In our case of MNM Chat we simply use top down approach. There are two sub options in our project first one is Form1 mode, which is the listing part and second one is Form2 mode which is chat box. In the first case we just test for the correct resolution of names of systems connected to a network. And in the second mode our motive is to obtain a two way communication between the host user and remote user. And we are very much successful here in our test case.
  • 20. 6.2 Integration Testing: After the unit testing we have to perform integration testing. The goal here is to see if modules can be integrated properly, the emphasis being on testing interfaces between modules. After the modules are connected we have perform the total testing. 6.3 SYSTEM TESTING: System testing is the process of executing software in a controlled manner, in order to answer the questions "Does the software behave as specified?" System testing is often used in association with the terms verification and validation .Verification is the checking of items, including software, for conformance and consistency with an associated specification. Software testing is just one kind of verification, which also uses techniques such as reviews, analysis, inspections and walkthroughs. Validation is the process of checking that what has been specified is what the user actually wanted. Validation: Are we doing the right job? Verification: Are we doing the job right?
  • 21. The test strategies will include five different types of testing as describes below:- 1. Logical Testing: This will be used to test every aspect of both modes, report and query as soon as it is implemented, using valid, invalid and extreme data test data will be added to test each code module and results compared with the expected results. Sufficient data will be added to ensure that there is at least one entry in each category. Subsequent tests will often involved adding new data, which will be deleted when the test works satisfactorily. As per our requirement we have also included some field such as character size etc and then queries were performed after that results were tabulated and then the module were free from extra field. 2. Functional Testing: - In this menu items were tested to ensure no functions has been missed out. This is done for the smooth working of the project. 3. System Testing: - This is done after the completion of system; all the queries were carried out again to ensure that no errors have been introduced.
  • 22. Chapter 7 System Implementation And Maintenance 7.1 Implementation
  • 23. Implementation is a vital step in ensuring the success of new system even a well designed system can fail if it is not a properly implemented. Implementation activities are needed to transform a newly developed information system into an operational system for end users. 7.1.1 Acquiring Hardware Software And Services: These resources acquired from many sources in the computer industry. Some sources are as follows a-hardware- IBM, HP, Apple computer etc. b- software- Microsoft, Oracle etc. 7.1.2 Testing: Testing of a developed system is an important implementation activity. System testing and debugging computer programs and testing information processing procedures. 7.1.3 Training methods: A-Vendor and in service training-Vendor offers extensive educational programs as part of their services .the courses by experiences trainers and sales personnel ,cover all aspects of using the equipment .participant actually use the system in the presence of trainer. It questions arise, they can quickly be answered. B- In house training- It is offered by special purchased instructional materials training manuals on site.
  • 24. 7.1.4 System documentation: Installing and operating a newly designed system or modifying an established application requires a detailed record of that system’s design. Documentation is important in diagnosing errors and making channel .documentation serves as a method of communication among the people responsible for developing implementing and maintaining a system. 7.2 Maintenance Once a system is fully implemented & being operated by end user & the maintenance function begins .System maintenance is the monitoring to evaluating &modifying of operational information system to make desirable or necessary improvements .for example the implementation of a new system usually results in the phenomenon known as the leaning curve .person who operates &use the system will make mistakes simply because the are not familiar with it .Though such errors usually diminished experience is gained with a new system ,they do point out areas where system may be improved . Maintenance is also necessary for the failures and problems that arise during the operation of a system .the maintenance activity includes a post implementation of a system review process to ensure that newly implemented system meet the system development objective established for them . Errors in the development of a system must be corrected by the maintenance process .this includes a periodic review or audit of a system to ensure on operating system &meeting its objective.
  • 25. Chapter 8 Contribution In The Project A project is successfully completed only when there is contribution of all the members of a team. Each member in the project has a required objective to accomplish .In same way to complete this project we divided our work in equal manner .Instead of selecting a particular task to do individually, we divided a single task in multiple subtasks so that we all can work together on the same phase or task of the project. Doing so no team member had to wait to show his or her capabilities.
  • 26. Chapter9 Limitation And Future Enhancement Conclusion 9.1 Limitations There are mainly two limitations of the project and that are:
  • 27. The firewall is to be disabled for intra network.  It is dependent on the specific algorithm used. 9.2 Future Enhancement Conclusion There is always a room for improvements in any software package, however good and efficient it may be done. But the most important thing should be flexible to accept further modification. Right now we are just dealing with text communication. In future this software may be extended to include features such as:  File transfer: this will enable the user to send files of different formats to others via the chat application.  Voice chat: this will enhance the application to a higher level where communication will be possible via voice calling as in telephone.  Video chat: this will further enhance the feature of calling into video communication.
  • 28. APPENDIX [A] Source Code Form1.cs //Code for the first form that enlists the names: //library classes using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.Diagnostics; using System.Net; using System.Net.Sockets; using System.IO; namespace Chat_App { public partial class Form1 : Form { Form2 frm1; //object for next form
  • 29. int portNo = 1; //ports to be used public Form1() { InitializeComponent(); } //code for resolving names on initialization private void Form1_Load(object sender, EventArgs e) { Process netUtility = new Process(); netUtility.StartInfo.FileName = "net.exe"; netUtility.StartInfo.CreateNoWindow = true; netUtility.StartInfo.Arguments = "view"; netUtility.StartInfo.RedirectStandardOutput = true; netUtility.StartInfo.UseShellExecute = false; netUtility.StartInfo.RedirectStandardError = true; netUtility.Start(); StreamReader streamReader = new StreamReader(netUtility.StandardOutput.BaseStream, netUtility.StandardOutput.CurrentEncoding); string line = ""; while ((line = streamReader.ReadLine()) != null) { if (line.StartsWith("")) { lbNames.Items.Add(line.Substring(2).Substring(0, line.Substring(2).IndexOf(" ")).ToUpper());
  • 30. } } /* if (lbNames.ItemHeight == 0) {wwww lbNames.Items.Add("No systems connected..nPleace check LAN"); }*/ streamReader.Close(); netUtility.WaitForExit(1000); this.lbNames.MouseDoubleClick += new MouseEventHandler(lbNames_MouseDoubleClick); } private void lbNames_SelectedIndexChanged(object sender, EventArgs e) { } //refresh button private void button1_Click(object sender, EventArgs e) { lbNames.Items.Clear(); Process netUtility = new Process(); netUtility.StartInfo.FileName = "net.exe"; netUtility.StartInfo.CreateNoWindow = true; netUtility.StartInfo.Arguments = "view"; netUtility.StartInfo.RedirectStandardOutput = true; netUtility.StartInfo.UseShellExecute = false;
  • 31. netUtility.StartInfo.RedirectStandardError = true; netUtility.Start(); StreamReader streamReader = new StreamReader(netUtility.StandardOutput.BaseStream, netUtility.StandardOutput.CurrentEncoding); string line = ""; while ((line = streamReader.ReadLine()) != null) { if (line.StartsWith("")) { lbNames.Items.Add(line.Substring(2).Substring(0, line.Substring(2).IndexOf(" ")).ToUpper()); } } /*if (lbNames.ItemHeight == 0) { * lbNames.Items.Add("No systems connected..nPleace check LAN"); }*/ streamReader.Close(); netUtility.WaitForExit(1000); } //connect button private void button2_Click(object sender, EventArgs e) { if (lbNames.SelectedItem == null) //error message box { Form3 frm = new Form3();
  • 32. frm.Show(); } else { frm1 = new Form2(portNo, lbNames.SelectedItem.ToString()); frm1.Show(); portNo++; } } void lbNames_MouseDoubleClick(object sender, MouseEventArgs e) { int index = this.lbNames.IndexFromPoint(e.Location); if (index != System.Windows.Forms.ListBox.NoMatches) { frm1 = new Form2(portNo, lbNames.SelectedItem.ToString()); frm1.Show(); portNo++; } } } } Form 2.cs //code for the second form which is the actual chatting part //library classes using System;
  • 33. using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.Net; using System.Net.Sockets; using System.IO; using System.Threading; namespace Chat_App { public partial class Form2 : Form { Thread thdUDPServer; int portNo; string serverName; public Form2(int port, string name) { portNo = port; serverName = name; InitializeComponent(); }
  • 34. //thread for synchronous data transfer public void serverThread() { UdpClient udpClient = new UdpClient(portNo); while (true) { IPEndPoint RemoteIpEndPoint = new IPEndPoint(IPAddress.Any, portNo); Byte[] recieveBytes = udpClient.Receive(ref RemoteIpEndPoint); //receiving data string returnData = Encoding.ASCII.GetString(recieveBytes); lbConnections.AppendText(serverName + ":" + returnData.ToString() + "n"); } } private void Form2_Load(object sender, EventArgs e) { chatBox.Focus(); thdUDPServer = new Thread(new ThreadStart(serverThread)); //thread object for sockets thdUDPServer.Start(); } private void lbConnections_TextChanged(object sender, EventArgs e) { } private void chatBox_TextChanged(object sender, EventArgs e)
  • 35. { } private void button1_Click(object sender, EventArgs e) { UdpClient udpClient1 = new UdpClient(); //socket object for data transfer using UDP protocol udpClient1.Connect(serverName, portNo); Byte[] sendBytes = Encoding.ASCII.GetBytes(chatBox.Text); //encoding if (chatBox.TextLength != 0) { string hostName = Dns.GetHostName().ToString(); udpClient1.Send(sendBytes, sendBytes.Length); //sending to remote user lbConnections.AppendText(hostName + ":" + chatBox.Text + "n"); lbConnections.ScrollToCaret(); } chatBox.Clear(); chatBox.Focus(); } private void copyToolStripMenuItem_Click(object sender, EventArgs e) { Clipboard.Clear(); chatBox.Copy(); }
  • 36. //cut, copy, paste commands private void copyToolStripMenuItem1_Click(object sender, EventArgs e) { Clipboard.Clear(); lbConnections.Copy(); } private void cutToolStripMenuItem_Click(object sender, EventArgs e) { Clipboard.Clear(); chatBox.Cut(); } private void pasteToolStripMenuItem_Click(object sender, EventArgs e) { chatBox.AppendText(Clipboard.GetText()); } } } Form3.cs //code for error message using System; using System.Collections.Generic; using System.ComponentModel;
  • 37. using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace Chat_App { public partial class Form3 : Form { public Form3() { InitializeComponent(); } private void label1_Click(object sender, EventArgs e) { } private void button1_Click(object sender, EventArgs e) { Form3.ActiveForm.Close(); } } }
  • 38. APPENDIX [B] Output One of the most important principles of Software Design is to keep the software simple yet effective. This has been the guiding force during the design phase of our software. And the Interface that we provide is no exception. Against the backdrop of this ideology we design a simple yet very effective interface. Ad-Hoc