Beruflich Dokumente
Kultur Dokumente
uiopasdfghjklzxcvbnmqwertyuiopasd
fghjklzxcvbnmqwertyuiopasdfghjklzx
cvbnmqwertyuiopasdfghjklzxcvbnmq
LAN TEXT AND VOICE CHAT
wertyuiopasdfghjklzxcvbnmqwertyui
www.BEProjectReport.com
opasdfghjklzxcvbnmqwertyuiopasdfg
hjklzxcvbnmqwertyuiopasdfghjklzxc
vbnmqwertyuiopasdfghjklzxcvbnmq
wertyuiopasdfghjklzxcvbnmqwertyui
opasdfghjklzxcvbnmqwertyuiopasdfg
hjklzxcvbnmqwertyuiopasdfghjklzxc
vbnmqwertyuiopasdfghjklzxcvbnmq
wertyuiopasdfghjklzxcvbnmqwertyui
opasdfghjklzxcvbnmqwertyuiopasdfg
hjklzxcvbnmrtyuiopasdfghjklzxcvbn
mqwertyuiopasdfghjklzxcvbnmqwert
yuiopasdfghjklzxcvbnmqwertyuiopas
VISIT US, CHOOSE THE PROJECT YOU LIKE AND
CLICK THE DOWNLOAD BUTTON
CHAPTER 1
INTRODUCTION
A communication is the infrastructure that allows two or more computers (called hosts) to
communicate with each other. The network achieves this by providing a set of rules for
communication, called protocols, which should be observed by all participating hosts. The need for a
protocol should be obvious: it allows different computers from different vendors and with different
operating characteristics to speak the same language.
Network is defined as a system in which two or more computer systems are connected
through various channel or medium. As text and voice communication is one of the most suitable
forms of communication. LAN Voice and Text Chat is a software application that enables users to
communicate with each other when connected in a LAN network. This project provides voice and
text chat for LAN network. This project contains four module i.e login information, text chat, voice
chat, help Tab. Login Information provides Username and Password to respective LAN user to
provide confidentiality and authenticity. Text and Voice chat is simply the transmission of text and
voice data from one computer to another. Help tab provides details about application i.e. how to use
this application. Much organization provides LAN facility into their buildings. So, this application
can be use as one type of communication, such as intercom communication and Intranet application.
www.BEProjectReport.com
Page 2
www.BEProjectReport.com
Page 3
CHAPTER 2
LITERATURE SURVEY
2.1 LAN
A local area network (LAN) is a computer network that interconnects computers in a limited
area such as a home, school, computer laboratory, or office building. The defining characteristics of
LAN in contrast to wide area networks (WAN) include their usually higher data-transfer rates,
smaller geographic area, and lack of a need for leased telecommunication lines. ARCNET, Token
Ring and other technology standards have been used in the past, but Ethernet over twisted pair
cabling, and Wi-Fi are the two most common technologies currently used to build LANs.
Early LAN cabling had always been based on various grades of coaxial cable. However
shielded twisted pair was used in IBM's Token Ring implementation, and in 1984 StarLAN showed
the potential of simple unshielded twisted pair by using Cat3the same simple cable used for
telephone systems. This led to the development of 10Base-T (and its successors) and structured
cabling which is still the basis of most commercial LANs today. In addition, fiber-optic cabling is
increasingly used in commercial applications. As cabling is not always possible, wireless Wi-Fi is
now the most common technology in residential premises cabling required is minimal and it is well
suited to mobile laptops and smart phones. Network topology describes the layout pattern of
interconnections between devices and network segments. Switched Ethernet has been for some time
the most common Data Link Layer and Physical Layer implementation for local area networks. At
the higher layers, the Internet Protocol (TCP/IP) has become the standard. Smaller LANs generally
consist of one or more switches linked to each other, often at least one is connected to a router, cable
modem, or ADSL modem for Internet access.
Larger LANs are characterized by their use of redundant links with switches using the
spanning tree protocol to prevent loops, their ability to manage differing traffic types via quality of
service (QoS), and to segregate traffic with VLANs. Larger LANs also contain a wide variety of
network devices such as switches, firewalls, routers, load balancers, and sensors. LANs may have
connections with other LANs via leased lines, leased services, or by tunnelling across the Internet
using virtual private network technologies. Depending on how the connections are established and
secured in a LAN, and the distance involved, a LAN may also be classified as a metropolitan area
network (MAN) or a wide area network (WAN).
www.BEProjectReport.com
Page 4
A simple example: To communicate client with server and how it can be done? We first install client
side module on client machine and Then user resister from client module. Then client start
communicating with other clients or the server. This communication takes place with the help of text
or voice.
2.2.1 TCP
TCP (Transmission Control Protocol) is a connection based protocol that provides a' reliable
flow of data between two computers. When two applications want to communicate to each other
reliably, they connect and send data back and forth over that connection. This is analogous to making
a telephone call. A connection is established when you dial a phone number listener answers. You
send data back and forth over the connection by speaking to one another over the phone lines. Like
the phone company, TCP guarantees that data sent from one end of the connection actually gets to
the other end and in the same order was sent. Otherwise, an error is reported. TCP provides a point to
point channel for applications that require reliable communications. The order in which the data is
sent and received over the network is critical to the success of applications like HTTP, FTP and
Telnet. When HTTP is used to read from a URL, the data must be received in the order in which it
was sent. Otherwise, you end up with a jumbled HTML file, a corrupt zip file, or some other invalid
information.
2.2.2 Socket
A Socket is one end point of a two way communication link between two programs running
on the network. A Socket is bound to a port number so that the TCP layer can identify the application
that data is destined to be sent. A Socket is one end point of a two way communication link between
two programs running on the network. Socket classes are used to represent the connection between a
client program and a server program. Java.net package provides two classes, Socket and Server
Socket that implement client side of the connection and the server side of the connection,
respectively.
Normally, a server runs on a specific computer and has a socket that is bound to a specific
port number. The server just waits, listening to the socket for a client to make a connection request.
On the client side: the client knowns the host name of the machine on which server is running and
the port number to which the server is connected. To make a connection request, the client tries to
www.BEProjectReport.com
Page 5
rendezvous with the server on the server machine and port. Server client N connection request. If
everything goes well, the server accepts the connection upon acceptance, the server gets a new
socket bounds to a different port. It needs a new socket (and consequently a different port number) so
that it can continue to listen to the original socket for connection request while tending to the needs
of the connected client. On the Client side, if the connection is accepted, a socket is successfully
created and the client can use the socket to communicate with the server. Note that the socket on the
client side is not bound to the port number used to rendezvous with the server. Rather, the client is
assigned a port number local to the machine on which the client is running.
www.BEProjectReport.com
Page 6
CHAPTER 3
SYSTEM REQUIREMENTS
3.1 SOFTWARE REQUIREMENT
Item
Purpose
My SQL
Database
NetBeans IDE
GUI interface
Windows 32 Bit
Client
JDK1.6
Runtime environment
Table 3.1
Purpose
1.96 GHz
RAM
256 MB
HDD
80 GB
Mike
Voice Input
Speaker
Voice Output
Table 3.2
www.BEProjectReport.com
Page 7
3.3.2 SQL
SQL stands for Structured Query Language. SQL is a standard language for accessing and
manipulating databases. SQL is an ANSI (American National Standards Institute) standard. SQL can
execute queries against a database. It can retrieve data from a database, insert, update and delete
records in a database, create new databases, new tables in a database, stored procedures, views, set
permissions on tables, procedures, and views, etc.
3.3.3 RMI
Remote Method Invocation allows applications to call object methods located remotely,
sharing resources and processing load across systems. Unlike other systems for remote execution
\which require that only simple data types or defined structures be passed to and from methods, RMI
allows any Java object type to be used - even if the client or server has never encountered it before.
RMI allows both client and server to dynamically load new object types as required.
3.3.4 Beans
JavaBeans are reusable software components for Java that can be manipulated visually in a
builder tool. Practically, they are classes written in the Java programming language conforming to a
particular convention. They are used to encapsulate many objects into a single object (the bean), so
that they can be passed around as a single bean object instead of as multiple individual objects. A
Java Bean is a Java Object that is serializable, has a nullify constructor, and allows access to
properties using getter.
www.BEProjectReport.com
Page 8
The
documentation
Generator,
which
automatically
generates
documentation from source code comments.
jdb - The debugger.
The JDK also comes with a complete Java Runtime Environment, usually called a private runtime. It
consists of a Java Virtual Machine and all of the class libraries that will be present in the production
environment, as well as additional libraries only useful to developers, such as the internationalization
libraries and the IDL libraries.
3.2.6 Netbeans
The NetBeans IDE Bundle for Java ME is a tool for developing applications that run on
mobile devices; generally mobile phones, but this also includes entry-level PDAs and Java Card,
among others.
The NetBeans IDE comes bundled with the latest Java ME SDK 3.0 which supports both CLDC and
CDC development. One can easily integrate third-party emulators for a robust testing environment.
You can download other Java platforms, including the Java Card Platform 3.0, and register them in
the IDE.
NetBeans refers to both a platform framework for Java desktop applications, and an
integrated development environment (IDE) for developing with Java, JavaScript, PHP, Python (no
longer supported after NetBeans 7), Groovy, C, C++, Scala, Clojure, and others. The NetBeans IDE
7.0 no longer supports Ruby and Ruby on Rails, but a third party has begun work on a separate plugin.
The NetBeans IDE is written in Java and can run on Windows, Mac OS, Linux, Solaris and
other platforms supporting a compatible JVM. A pre-existing JVM or a JDK is not required. The
NetBeans platform allows applications to be developed from a set of modular software components
called modules. Applications based on the NetBeans platform (including the NetBeans IDE) can be
extended by third party developers.
www.BEProjectReport.com
Page 9
CHAPTER 4
IMPLEMENTATION
4.1 OVERVIEW
This chapter provides theoretical information about various technologies and languages used to
design this project. With the help of this tool, we can check how we monitor the network.
www.BEProjectReport.com
Page 10
In above figure double square shows the Entity, rectangle with rounded corners is used to
show the occurrence of transforming process, arrow shows movement of data from one point to
another point and last symbol used in data flow diagram is an open ended rectangle which represents
a data store.
Above figure shows data flow diagram for LAN Chat project .In this diagram user1 request to
user2 for connection. User2 wait for connection request and if user2 accept request then
communication between user1 and user2 takes place.
www.BEProjectReport.com
Page 11
In the figure 4.3 we have described Login Page of our Project. Every Chat application requires
user identification to distinguish users and to know to with whom our chat is going on. To provide
security to user profile, we provided Password utility with each user. Actually, user here denotes
USERNAME for carry out chat. Then, next field specifies IP address of the remote system to
which you want to connect. Next field Your IP specifies your own IP address belongs to system on
LAN. Your IP is evaluated and printed on Login Page automatically using Network Programming
concepts. And you have to set or type manually IP address of remote machine to which you want to
connect.
www.BEProjectReport.com
Page 12
www.BEProjectReport.com
Page 13
www.BEProjectReport.com
Page 14
www.BEProjectReport.com
Page 15
www.BEProjectReport.com
Page 16
www.BEProjectReport.com
Page 17
out.write(tempBuffer);
}
}
catch (Exception e)
{
System.out.println(e);
System.exit(0);
}
}
}
}
www.BEProjectReport.com
Page 18
www.BEProjectReport.com
Page 19
}
catch (Exception e)
{
System.out.println(e);
System.exit(0);
}
}
class CaptureThread extends Thread
{
byte tempBuffer[] = new byte[10000];
public void run()
{
byteArrayOutputStream = new ByteArrayOutputStream();
stopCapture = false;
try
{
while (!stopCapture)
{
int cnt = targetDataLine.read(tempBuffer, 0, tempBuffer.length);
out.write(tempBuffer);
if (cnt > 0)
{
byteArrayOutputStream.write(tempBuffer, 0, cnt);
}
}
byteArrayOutputStream.close();
}
catch (Exception e)
{
System.out.println(e);
System.exit(0);
}
}
}
private AudioFormat getAudioFormat()
{
float sampleRate = 8000.0F;
int sampleSizeInBits = 16;
int channels = 1;
boolean signed = true;
boolean bigEndian = false;
return new AudioFormat(sampleRate, sampleSizeInBits, channels, signed, bigEndian);
}
class PlayThread extends Thread
www.BEProjectReport.com
Page 20
{
byte tempBuffer[] = new byte[10000];
public void run()
{
try
{
while (in.read(tempBuffer) != -1)
{
sourceDataLine.write(tempBuffer, 0, 10000);
}
}
catch (IOException e)
{
e.printStackTrace();
}
}
}
}
www.BEProjectReport.com
Page 21
www.BEProjectReport.com
Page 22
www.BEProjectReport.com
Page 23
CHAPTER 5
CONCLUSION
5.1 OBJECTIVE
For providing efficient way of communication between the two or more systems that are
connected across LAN networks, this application is helpful.
5.2 CONCLUSION
Thus we have got aim of our project is to provide user friendly project about the LAN Chat
concept, for user across LAN which maintain their chat history.
This project efficiently fulfils the communication facility with security by means of password
for every user who has registered with this application.
www.BEProjectReport.com
Page 24
BIBLIOGRAPHY
www.BEProjectReport.com
Page 25