Professional Documents
Culture Documents
BY
NCSF/15/00
&
NCSF/15/0068
SUPERVISED BY
AUGUST 2018.
CERTIFICATION
This is to certify that this research work titled ONLINE CHAT SYSTEM has been
carried out & with the matric number and respectively in the Department of Computer
Science, OGUN STATE INSTITUTE OF TECHNOLOGY, IGBESA, OGUN
STATE.
______________________ __________________
Mrs oladejo Date
Supervisor Signature
______________________ __________________
Mrs Ebisin A.F Date
Head of Department (HOD)
DEDICATION
This project is solemnly dedicated to the mighty God, the giver of life, good health,
wisdom, knowledge, and understanding. Also to our ever supportive parent for their love,
care and financial support for the success of this project.
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 Mrs.
Jimoh. 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
and completion of this project.
TABLE OF CONTENT
Title Page
i
Certification
ii
Dedication
iii
Acknowledgement
iv
Table of content
v - vi
Abstract
vii
CHAPTER ONE
INTRODUCTION
INTRODUCTION
1–3
PROBLEM STATEMENT
2–3
OBJECTIVES 3
DEFINITION OF TERMS 4
CHAPTER TWO
LITERATURE REVIEW
2.0 INTRODUCTION
5-6
OVERLAY NETWORK
12-14
3.0 INTRODUCTION
15
3.1 THESIS BACKGROUND
15-16
3.2 GENERAL OVERVIEW OF THE EXISTING SYSTEM
16 – 23
3.3 SYSTEM ANALYSIS
24 - 25
3.4 SYSTEM ARCHITECHTURE
25
CHAPTER FOUR
SYSTEM DESIGN AND IMPLEMENTATION
CHAPTER FIVE
SUMMARY, CONCLUSION AND RECOMMENDATION
5.0 SUMMARY
39
5.1 CONCLUSION
39
5.2 RECOMMENDATION
39 – 40
REFERENCES
APPENDIX
ABSTRACT
Chatting system is very common communication tools that have been used in human in
this modern cutting edge technology world. This chatting system has become one of the
important intermediate tools for everyone to share knowledge and materials via network.
So this Chatting, system for Computer Science Student OGITECH, The Environment is
developed in order to enhance the communication among the students via network so that
this will be easy for the discussions related to their studies. This chatting system is
developed by using peer-t-peer concept and multicast technique and also developed by
using the Rapid Application Development (RAD) methodology. This system is built by
using PHP server scripting language. The text messaging in this system does explain the
peer-peer concept and multicast technique very well. The output from this system enables
the student to chat among themselves in internal chatting System.
CHAPTER ONE
INTRODUCTION
Chatting system is a peer-to-peer system where the users exchange text messages and
files between the system's users. The user of the system is defined as client-server.
Chatting system is a distributed programming which consist two distributed components,
chat server and chat client. Chat client supports for all communication including
requesting chat server location information from a location server and display received
chat messages. Chat server will conduct chat session and manage all chat clients.
Basically chat client starts the chat session by requesting the communication parameter
(server name and port number). There are two type of communication between client-
server which were control message (used to join and leave chat session, create chat room
and switch to chat room) and chat message (supports only public chat message). Two
transport protocols are applied for a chatting system that is Transport Control Protocol
(TCP) and User Datagram Protocol (UDP). TCP takes place for control message while
UDP takes place for chat messaging.
Chat System is a form of communication that utilizes computer programs that allow for
two-way conversations between users in real time (events that occur in cyberspace at the
same speed that they would occur in real life). Typically the users will connect to a chat
server using a chat client and meet in a chat room. Once the users are in the same chat
room, they can converse with one another by typing messages into a window where all of
the other users in the chat room can see the message. The user can also see all of the
messages entered by the other users. Conversations are then carried on by reading the
messages entered by the other users in the chat room and responding to them. How does
online chat work? The technologies that allow users to converse in real time via typed
messages are the chat servers and the chat clients. These special servers allow the
messages to be quickly received and posted so that the chat clients can receive the
messages and display them in the window on the users' computers. Fortunately, most chat
clients are relatively inexpensive shareware programs, and there are a number of chat
servers that let the user connect to them for free. Online chat could be an alternative to
meeting in a traditional classroom. While all of the participants would still be able to
freely converse with one another, they would carrying on the conversation from the
comfort of their own home, thus avoiding the expense and inconvenience of traveling to
another place. Chat server: A chat server is a specially equipped computer connected to
the internet that allows users with chat clients to converse with one another via typed
messages in real time. There are a great number of chat servers which let users connect
for free. Some of the more popular chat servers are dal.net, under.net, etc. You can find a
list of many chat servers on the chat resources
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 butthe acceptance it was quit recent. Our project is an example of a chat server.
It is made up of 2applications the client application, which runs on the user’s Pc and
server application, whichruns on any Pc on the network. To start chatting client should
get connected to server wherethey can practice two kinds of chatting, public one
(message is broadcasted to all connectedusers) and private one (between any 2 users
only) and during the last one security measureswere taken.
Web-based chat rooms can be located throughout the Internet on pages such as fan club
websites, online gaming sites and personal websites, among others. Individuals can
discuss a variety of topics, including computers, games, movies, music. Many popular
search engines have their own chat platform and can be run under most operating
systems, provided that the software that allows you to communicate with others in the
chat room has been installed. • Real-time chat: o Real-time chat, sometimes referred
“instant messaging,” offers users the ability to communicate in real time with individuals
who have been added to a “buddy” list. Generally, the chat is centered on an actual
conversation as opposed to a theme which would be found in a web-based chat room or
an Internet Relay Chat channel. o Real-time chat is messaging software that lets you
communicate with friends and colleagues in real time. Features include a quick launch
bar, music file support, and a new answering service. Some versions also work with
Internet Transmission Control Protocol (TCP)/Internet Protocol (IP) connections,
allowing communication behind firewalls (see NETWORK fact sheet for more on TCP
and IP). • Advantages of Instant Message Programs are:
You can be alerted when your friends, family or chat partners are online.
You can leave messages for Chat partners when they are not online.
You can send files, share web site information, and surf the internet together.
This same application goes for internal chatting system with the definition as a corporate
client-server chatting system. This internal chatting system is build specifically for an
organization/company on official purpose only. The peer-to-peer application is widely
used in most of the current chatting system. It is because peer-to-peer enables peers to
establish direct contact to other peers and inquire about resources. Those systems offers
peers the chance to send information through network. Moreover, the client-server both
acts as provider and consumer of a service or an application. Decentralization in peer-to-
peer makes no central, coordinating authority for the organization of the network.
Consequently, in-this project was proposed to do an Internal Chatting system for
Computer Science Student, UMP Environment which applies peer-to-peer concept. The
plus point of this project refers to the contacts which already build-in the system. This
means the system will be easier for the students to communicate each other via network
by connecting to the server which is .ready for them to chat with those who are online.
This type of communication tool is very useful for the students as they all engineering
students will need to discuss among their course. Mates about projects and assignments.
Difficult to find friend's contacts as the chat client might not have exact contacts
of the user.
Usually the contacts of the system added manually using different web host et-
nails- such as yahoo, jarring and others.
In, existing chatting system have invoked social problems that lead to unhealthy
conversation, among the chatters because they do not know their original profile
of the personal they have being friend with via the chatting system.
OBJECTIVES
The objectives of the chat system includes are as follows:
To develop an internal chatting system for users, UMP environment with build-in
contacts
To develop an internal chatting system that applies peer-to peer concept and
applies multicast technique.
The database of the system includes the information about the build-in contacts.
DEFINITION OF TERMS
API API stands for Application programming interface. It is a
set of specifications that programs can use to communicate
with each other’s.
Div element An HTML element that can be placed inside a web page.
MVC Model-view-controller.
CHAPTER TWO
LITERATURE REVIEW
Online chats provide real-time transmission of messages between the sender and
receiver(s). Messages within online chats are oftentimes quite short to provide an
experience close to a real conversation. Some online chats also let their users to send their
picture through webcam as well as voice through microphone. (Rouse 2005a.) When
starting to use an online chat, it is oftentimes required for a user to create an account one
way or another to authenticate the nickname the user wants to use. For example in Skype
the user needs to login with a registered account within the application interface before
chatting, all contacts being linked to the account of the user. (Rouse 2005a.) Online chats
can also be browser-based or client-based. In browser-based online chat, the user uses the
online chat through a chat interface within their browser. In client-based chat,the user
needs to install the online chat’s client, such as Skype, to their computer. Many
online chats nowadays have the option for both, making it possible to access the chat by
either installing the client software and using it or accessing the chat within a browser-
based application. The Figure 1 below shows a basic outlook of a client-based online
chat. On the left there is a list of contacts, the box on the right is the chat. (Rouse 2005a.)
There are also online chats that let people converse by talking. These are called Voice
over IP (VoIP) chats. VoIP-service can be used in things such as customer service, to
give the customer a better experience. Some online chat applications have access to both
VoIP and a normal chat. The Figure 2 below shows Skype interface. Skype is one of the
leading client based online chat applications, allowing the user to call or chat with his
contacts. Skype also supports webcam and file sending/receiving. (What is Voice over
IP?)
There are different uses for online chats ranging from regular chats to business purpose
chats. Online chats can also be private chats or chat rooms. Many programs, such as
Facebook or online games also have online chats embedded to them as a means to let
users converse with each other.
In business, online chats are mostly used in customer service. With online chat it is
possible for a company to create a real-time customer support with low costs, which can
be used through the company’s own website. Online chat-support helps a company in
building a solid relationship between the customers, as it is said that the availability of
help and the speed of the helping service are often the reasons for customers having a
good experience from acompany. (Hodigman 2013.) While there is always a possibility
to use phone or email customer service, these have their own detriments. A phone
customer service would be ill served compared to online chat for international
companies, as they would have to have a service center in all countries it operates in. A
phone service center also ramps up the costs much faster than an online chat, needing
physical objects such as phones the more calls are made. An email customer service can
leave the customer hanging for most of the day before getting an answer to a question.
Online chat customer service does not have these problems, as long as there is enough
personnel to keep up with the queries. In the end, online chats often offer offline
availability by an email or ticket system, making the customers able to contact the
company via these channels when there are no personnel online for the chat. (tagove
2015.)
Online chat support in business also leaves logs from conversations with the customers.
The company can thus analyze these logs to find out what needs improvement by finding
out what customers are complaining about or need help with the most. It is also possible
to monitor the length which the support took to overcome an obstacle with the customer.
In the long run, this will save time of the customer support team to focus on things that
really need their attention. (Hodigman 2013.)
While implementing an online chat support feature to a business has its benefits, it can
also have detriments. For example, Evan Hamilton from an eight person startup company
UserVoice has said that his company has given up on online chat because it sets high
expectations on availability and they just didn’t have time and personnel to do it.
(Boatman 2011.)
Online chats can also be used for normal chatting between people. There are many dating
services using online chats as their base, as well as online chats with chat rooms where
people interested in same things can meet up and talk. (Rouse 2005b.)
Usually online chat applications meant for conversation have a system called chat rooms.
A chat room is a place for communities with common interests to meet up and talk about
them.
In chat room, everyone who is participating in it can read the messages sent into the room
and send their own messages as well, creating a place for open discussion on different
topics. (Rouse 2005b.)
In the recent years, the evolution of a new wave of innovative network architecture
labeled Peer-to-Peer (P2P) has been witnessed. P2P networks are networks in which all
peers cooperate with each other to perform a critical function in a decentralized manner.
All peers are both users and providers of resources and can access each other directly
without intermediary agents. Compared with a centralized system, a P2P system provides
an easy way to aggregate large amounts of resource residing on the edge of Internet or in
ad-hoc networks with a low cost of system maintenance. P2P systems attract increasing
attention from researchers. Such architecture and systems are characterized by direct
access between peer computers, rather than through a centralized server. File sharing is
the dominant P2P application on the Internet, allowing users to easily contribute, search
and obtain content.
In P2P networks all peers cooperate with each other to perform a critical function in a
decentralized manner. All peers are both users and providers of resources and can access
each other directly without intermediary agents. Compared with a centralized system, a
P2P system provides an easy way to aggregate large amounts of resource residing on the
edge of Internet or in ad-hoc networks with a low cost of system maintenance. P2P
systems attract increasing attention from researchers recently. Such architecture and
systems are characterized by direct access between peer systems, rather than through a
centralized server. More simply, a P2P network links the resources of all the nodes on a
network and allows the resources to be shared in a manner that eliminates the need for a
central host. In P2P systems, nodes or peers of equal roles and responsibilities, often with
various capabilities, exchange information or share resources directly with each other.
P2P systems can function without any central administration and coordination instance. A
P2P network differs from conventional client/server or multi-tiered server's networks.
Peers are both suppliers and consumers of resources, in contrast to the traditional
client/server model where only servers’ supply and clients consume.
TYPES OF P2P NETWORKS
P2P is a paradigm for sharing of computing resources/services such as data files, cache
storage, and disk space or processing cycles. In comparison with the conventional
client/server model, P2P systems are characterized by symmetric roles among the peers,
where every node in the network acts alike and the processing and communication are
widely distributed among the peers. Unlike the conventional centralized systems, P2P
systems offer scalability and fault-tolerance. It is a feasible approach to implement
global-scale systems such as the Grid.
An important achievement of P2P networks is that all clients provide resources, including
bandwidth, storage space, and computing power. Thus, as nodes arrive and demand on
the system increases, the total capacity of the system also increases. This is not true for
client/server architecture with a fixed set of servers, in which adding more clients could
mean slower data transferfor all users. The distributed nature of P2P networks also
increases robustness in case of failures by replicating data over multiple peers, and in
pure P2P systems byenabling peers to find the data without relying on a centralized index
server. In the latter case, there is no single point of failure in the system.
A growing application of P2P technology is the harnessing the dormant processing power
in desktop PCs. Companies can use the processing capabilities of many smaller, less
powerful computers replace large and expensive supercomputers . These features can
complete the large computing tasks using the processing of existing in-house computers
or by accessing computers through the Internet.
STRUCTURED P2P (P2P) NETWORKS
Structured P2P network employ a globally consistent protocol to ensure that any node
can efficiently route a search to some peer that has the desired file, even if the file is
extremely rare (see Figure 2.3). Such a guarantee necessitates a more structured pattern
of overlay links. By far the most common type of structured P2P network is the
Distributed Dash Table (DHT), in which a variant of consistent hashing is used to assign
ownership of each file to a particular peer, in a way analogous to a traditional hash table's
assignment of each key to a particular array slot.
DHTs are a class of decentralized distributed systems that provide a lookup service
similar to a hash table: (key, value) pairs are stored in the DHT, and any participating
node can efficiently retrieve the value associated with a given key. Responsibility for
maintaining the mapping fromkeys to values is distributed among the nodes, in such a
way that a change in the set of participants causes a minimal amount of disruption. This
allows DHTs to scale to extremely large numbers of nodes and to handle continual node
arrivals, departures, and failures.
DHTs form an infrastructure that can beused to build P2P networks. Notable distributed
networks that use DHTs include BitTorrent’s distributed tracker, the Kad network, the
Storm botnet, YaCy, and the Coral Content Distribution Network. DHT-based networks
have been widelyutilized for accomplishing efficient resource discovery for grid
computing systems,as it aids in resource management and scheduling of applications.
Resource discovery activity involves searching for the appropriate resource types that
match the user’s application requirements. Recent advances in the domain of
decentralized resource discovery have been based on extending the existing DHTs with
the capability of multi-dimensional data organization and query routing.
Figure 2.4 Hybrid P2P based system which uses the Centralized
Directory Model for information retrieval.
Another type of hybrid P2P network is a network using on the one hand central server(s)
or bootstrapping mechanisms, on the other hand P2P for their data transfers. These
networks are in general called centralized networks because of their lack of ability to
work without their central server(s). An example for such a network is the eDonkey
network (eD2k).
Decentralized Structured
Decentralized structured P2P networks (e.g., Chord, CAN, Tapestry, Pastry and TRIAD
use a logical structure to organize the peer nodes of the network. Decentralized structured
P2P networks uses a distributed hash table like mechanism, to lookup files. These
structured P2P networks are efficient in locating the object quickly due to the logical
structure (search space is reduced exponentially). As decentralized structured networks
impose a tight control on the overlay topology, hence they are not robust to peer nodes
dynamics. Easy to locate and search an object/peer node, due to logical structure. The
traffic of messages in these types of networks is reduced. These systems are scalable, due
to dynamic routing protocols. They have good performance. Performance of the system is
least effected due to scalability. This type of system is reliable in nature, support failure
node detection and replication of objects.
This type of system has tight control over the overlay topology hence they are not robust
to peer dynamics. Performance of these types of systems greatly affected, if churn rate is
high. Database searching is comparatively complex with centralized systems. This type
of system is not suitable for the Ad-Hoc peer nodes, as performance of the system is
affected due to high churn rate of the nodes. A location dependent application is proposed
in.
Decentralized Unstructured:
These types of systems are actual peer to peer systems, i.e., which are more close to the
definition of P2P systems. In this type of system there are not any central control, all peer
may act as server (which provides the service) as well as client (which take the service).
Peer wants to communicate with other peer, have to broadcast/flooded the request to all
the connected peers for searching the peer node/data object as there is not any central
index. Only the peers having the data are responded and send the data object through the
reverse path to the requesting peer node.
The flooding or broadcasting of requests creates the unnecessary traffic on the network,
which is main drawback of the system. A lot of work is going on to reduce the traffic of
the network. Various techniques are also proposed, i.e., forwarding based, cached based
and overlay optimization, etc.
These types of systems are not having the tight control over the overlay topology, so they
support peer dynamics. The performance is not much affected due to high churn rate.
These systems are distributed in nature, so there is no single point failure.
The scalability is poor due to overhead of traffic to discover the object/peer nodes, as
system grows after a limit its performance goes on decreasing. It is very costly to search a
resource in unstructured system. Flooding is used to search a resource. To enhance the
search, Random Walk is proposed in, Location aware topology matching is proposed in.
For providing the fault tolerance, a Self maintenance and self-repairing technique are
used.
For providing security to information, these systems use PKI for information sharing.
Alliatrust, a reputation management scheme is used which deals with threats, e.g., Free
riders, polluted contents etc. To cop up with Query loss and system overloading a
congestion aware search protocol may be used. This includes congestion aware
forwarding (CAF), random early stop (RES), Emergency signaling (ES). Location
dependent queries, using the Voronoi Diagram are used.
OVERLAY NETWORKS
An overlay network is a computer network (see Figure 2.6), which is built on top of
another network. Nodes in the overlay canbe thought of as being connected by virtual or
logical links, each of which corresponds to a path, perhaps through many physical links,
in the underlying network. For example, distributed systems such as cloud computing,
P2P networks, and client/server applications are overlay networks because their nodes
run on top of the Internet. Internet was built as an overlay upon the telephone network.
Nowadays the Internet is the basis for more overlaid network than can be constructed in
order to permit routing of messages to destinations not specified by an IP address. For
example, distributed hashtables can be used to route messages to a node having a specific
logicaladdress, whose IP address is not known in advance. (Figure 2.6).
Overlay networks have also been proposed as a way to improve Internet routing, such as
through quality of service (QoS) guarantees toachieve higher-quality streaming media.
Previous proposals such as Int Serv, DiffServ, and IP Multicast have not seen wide
acceptance largely because they require modification of all routers in the network. On the
other hand, an overlay network may be incrementally deployed on end-hosts running the
overlay protocol software, without cooperation from ISPs. The overlay has no control
over how packets are routed in the underlying network between two overlay nodes, but it
controls the sequence of overlay nodes a message traverses before reaching its
destination.
RESEARCH METHODOLOGY
INTRODUCTION
This chapter provides the reader with a short overview of the project. It starts by giving a
general description of the state of software development today. It then lists a set of issues
developers face and discusses how this project intends to deal with these problems. The
last two sections of this chapter present the layout for the rest of the report and explain
what language is going to be used.
THESIS BACKGROUND
In the last few decades, computer technologies have evolved at a very high pace.
As computer hardware continually evolves and targets greater and more challenging
problems, so does the software that runs on it. One of the latest challenges software
developers have is related to the interconnection of vast numbers of computers and
finding ways users can take advantage of this networking.
One of the ways this was achieved by a group of students was by developing a
collaboration application, written in Java, that students can use to work together. It is
described in greater detail in Chapter 2.
Yahoo! Messenger
Yahoo! Messenger is a very common chatting system among people around the world
and also known as 2(YM). Yahoo! Messenger is an advertisement-supported instant
messaging client and associated protocol which was provided by Yahoo. It is free and can
be downloaded from yahoo website. The ID that used for this system is allowed to access
other Yahoo services such as Yahoo Mail. YM provides many functions for the user such
as PC-PC, PC-Phone and Phone-to-PC service, file transferring, webcam hosting, text
messaging service and chat rooms in various categories.
The first version of Yahoo! Messenger was launched under the name Yahoo! Pager on
March 9, 1998. The developer of this system is Yahoo. Yahoo! Messenger has been
created for many type of operating system like Windows, Mac OS X, iPhone, WUI, and
UNIX (but no longer supported). Yahoo! Messenger is a type of Voice over Internet
Phone(VoIP) or in other word can be said to be an instant messaging client. The license
for this system is proprietary hardware. This software application can be downloaded
through the website http://messenger.yahoo.com
Yahoo! Messenger uses TCP/IP transport layer protocol for all communication purpose.
Sometimes it also uses peer-to-peer communication directly to the clients. The main
purpose of applying peer-to-peer concept because a large amount of data to be transferred
directly to the clients. This peer-to-peer application is very useful for the purpose of file
transfers, voice conversations, webeams and certain instant messaging environments in
yahoo messenger.
Yahoo! Messenger uses TCP/IP packets to allow communication in the system. But there
is a slight difference in the packet where the TCP/IP header is extended by using its own
application level header format. The Yahoo! Messenger header long is about 20 bytes
long and identified as YMSG for the first four bytes. The header YMSG includes the
information about version, message length, service type, status, and session ID.
MSN
MSN formerly known as Windows Live Messenger and then its name was modified as
MSN Messenger. Currently it is simply referred as MSN. MSN is an instant messaging
client application created by Microsoft Company. It is compatible with much type of
operating systems such as Windows XP, Windows Vista, Windows 7,
Windows Server 2003, Windows Server 2008 and Windows Mobile. MSN have been
part of Microsoft.NET Messenger Service since 2005. It's first version was created on
July 22, 1999 and as Windows Live Messenger on 13th December 2005. This service has
about 330 million users per month and it is also available in fifty (50) languages. It is
referred as instant messaging client type of service. Its license is proprietary and
advertising supported software. It can be downloaded freely form the website:
http://messenger.live.com.
MSN also provides the basic functions as all other chatting systems does such as folders,
PC-to-phone calls, interoperability, offline messaging, games and application, "I’m"
initiative, S60 Platform and Xbox integration. MSN Messenger provides IM services
including messaging, presence, file transfer and file sharing facilities. It uses Session
Initiation Protocol (SIP) for instant messaging and MSN uses FTP for file transfer and
sharing. Besides that it also uses peer-to-peer technique to establish connection via
internet.
The communication between the MSN client and server are performed over TCP/IP. The
TCP protocol is used with the client using various ports to generate the requests and the
server using port 80 to receive the request and for the reply notification the server uses
ports >1024. Meanwhile for the transport layer protocol, it uses Hypertext Transfer
Protocol (HTTP) protocol. HTTP is one of the protocols in the TCP/IP suite which was
originally developed to publish and retrieve HTML pages and is now used for distributed,
collaborative information systems. HTTP is used across the World Wide Web for data
transfer and is one of the most used application protocols. HTTP specifies a
request/response protocol. The HTTP protocol defines the message types of the client
uses to request the web page and the server uses to respond.
There were two techniques used to develop this MSN Messenger. First is the MSN API
(Application Programming Interface) and the second is Communication based Protocol
Technique. The use of this MSN API's technique is for the purpose of providing
interfaces for objects and events in the system. These interfaces are used for interaction in
the MSN Messenger system by the instant messaging client. Consequently the client also
has to intercept appropriate message calls sent to between the Operating System (OS) and
MSN Messenger. The figure below does give clear picture of this technique.
While the second technique is about the communication protocol in the MSN Messenger
which enables the clients to communicate each other via the Messenger server and
switchboard. There are two major software components of the architecture are Adaptation
Library and IM Client for MSN communication protocol. The Adaptation Library
component plays a role as a middle software layer, sitting between an IM client and the
MSN Messenger communication protocol and responsible for interacting with the MSN
Messenger communication protocol, such as establishing connection and authentication
with the MSN Messenger server, and sending and receiving messages via the MSN
Messenger switchboard. While the IM Client component listens to users' interaction and
passes captured events and messages onto Adaptation Library. Moreover, the client is
responsible for manipulating the contents of messages sent from other clients for
presenting the adaptive threaded interface.
Skype
Skype is another chatting system application that widely used by chatters around the
world for communication via network. Skype is a peer-to-peer (p2p) VoIP client
developed by the organization that created Kazaa. Actually Skype is a software
application that mainly used for voice calls over the internet. While its additional
functions are instant messaging, file transfer and video conferencing. Skype was written
by Estonia-based developer Ahti Heinla, Priit Kasesalu and Jaan who was originally
developed Kazaa.
Originally the initial name of this application project was "Sky peer-to-peer" which was
then reduced to "Skyper". Anyhow since this name was already taken so the "r" was
dropped and left with the current name "Skype". Skype was launched first in August
2003. It does supports for Windows operating system and Linux too. Moreover, Skype is
also available in multi-language. Skype is a type of voice over IP, instant messaging and
video conferencing application. The license is freeware with some paid features. This
software application can be downloaded from the website
http://www.skype.com.
Skype uses peer-to-peer application to develop its application. All communication in
Skype is secured by encryption. Skype application relies on super-nodes which is
responsible to facilitate communication among all the users. Skype is an overlay peer-to-
peer network. There are two nodes that are ordinary host and super-nodes (SN). An
ordinary host is a Skype application that is used to place voice calls and send text
messages. A super node is an ordinary host's end point on the Skype network. Any node
with a public IP address having sufficient CPU, memory, and network bandwidth is a
candidate to become a super node. An ordinary host must connect to a super-node and
must register itself with the Skype login server for a successful login. Skype login server
is an important entity in the Skype network where the user names and passwords are
stored at the login server and, user authentication at login also done here.
This server also ensures that Skype login names are unique across the Skype name space.
Figure 1 illustrates the relationship between ordinary hosts, super-nodes and login server.
There is no central server in the Skype network which means that the online and offline
user information are stored and propagated in a decentralized fashion as well as the user
search queries.
SYSTEM ANALYSIS
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 anorganization or campus of vast size, thus
increasing the standard of co-operation. In addition itconverts the complex concept of
sockets to a user friendly environment. This software can havefurther potentials, such as
file transfer and voice chatting options that can be worked upon later.
Resolving the names of all the system connected in a network and enlisting
them.
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.
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 selected 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 closedYes No
OPERATIONAL CONCEPTS
Scenarios Operation of The ApplicationBased 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.
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.
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 are 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 browser, the list form remains intact. Click the logout button; this is
when the application is closed.
The diagram (fig 3.5) below shows the flow of control through a system while specifying
all programs, inputs, input from keyboard, cpu, disk storage, report and output.
This flow chart is to be the basis for communication among system analyst, and users,
applications programmers and computer operators. It serves as a technical blue print for
implementation. This chart represents how the program starts operation, the operation
that suites the intended task is then selected, they are:
CPU: Central Processing unit is responsible for processing the input and sending it to the
disc storage device for easy accessibility.
Report: final analysis of goods going in and out of the ware house.
Output: the final stage on the flow chart where the data is read as information and can
thereby be printed and filed for record purpose.
Fig3.9 System Flowchart
TABLES USED :
LOGIN
roomname roomdesc
VARCHAR2(30) VARCHAR2(30)
SHARED FILES:
SYSTEM IMPLEMENTATION
This chapter deals with the implementation and evaluation of the designed system for the
verification and validation of the various program/function pages embedded in the
design. It introduces the software and hardware requirements for the system to work
properly.
SYSTEM SPECIFICATION
HARDWARE REQUIREMENT
Processor – Pentium 3
These all are the minimum hardware requirement required for our project. We want to
makeour project to be used in any. Type of computer therefore we have taken
minimumconfiguration to a large extent.128 MB ram is used so that we can execute our
project in a leastpossible 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 requirementsSoftware’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 runsoftware to function the
computer.
SOFTWARE REQUIREMENT
User Registration
Friends
Contact
Gallery
News
Chat
Home Page
PROGRAMME DESCRIPTION
The programming language used for this web application is PHP/HTML and Jscript.
Hypertext Preprocessor (PHP) is a server side scripting language that works in ally with
the Hypertext Markup Language (HTML) and some other basic scripts to develop a web-
based application programs.
During the process of using this approach, the top-down technique was adopted: The
Top-down design approach is which the application development process begins with the
most general view of the application and progressively moves towards a more detailed
view. The top-down philosophy ensures that testing of each of the web pages begins as
soon as they are designed without necessarily completing the full project.
CHAPTER FIVE
SUMMARY
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
2applications 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.
CONCLUSION
This thesis intended to research how viable web applications are as a replacement to
desktop applications. To do this an attempt was made to convert a desktop application
into a web application and research new potential technologies. Though performance is
satisfactory and most programs can be rewritten for the web browser, developers must be
research the software platforms they are going to use and gain significant experience.
RECOMMENDATION
After the completion of this project, I highly recommend that the Online Chat
System(OCS) serves as a key connector within the various people especially student,
which this can be best implemented in the Department of Computer Science OGITECH
IGBESA.
The various chat system that has been put forward in the earlier chapters have really help
in connecting people of different Ethnics group, Religion, Believe, Tradition etc. with the
aim of sharing Valuable, Educative, Traditional and Religious Information’s amount
them self and in the entire world as a whole. I therefore recommend that the Nigerian
Association of Computer Science Student (NACOSS) Ogitech, Unit should put the Chat
System technology at practice to phase out some of the problems they go through when
reaching the student for particular information.
REFERENCE
Pilkington, R. M., Bennett, C. L., & Vaughan, S. (2000) “An Evaluation of Computer
Mediated Communication to Support Group Discussion in Continuing Education”
Educational Technology and Society Special Issue on on-line Collaborative Learning
Environments. 3 (3), 349-359. Available from:
http://ifets.ieee.org/periodical/vol_3_2000/d10.html
Saunders Gunter & Pincas Anita (2003) Learning on-line on campus Learning Partners,
UK
Shephard, K. (n.d.) “The on-line tutorial; developing and evaluating resources and
disseminating experience” An ESCalate project, www.ESCalate.ac.ukunder Resources.
http://www.inc.com/internet/articles/201103/web-based-live-chat-good-for-
business.html.
Accessed: 12.3.2015
VEETIIIA A.(2010) & PERIASAMY P. R(2010). Internal Chatting System For Fskkp
Students,Ump Environment. Available at:
http://umpir.ump.edu.my/2664/1/VEETHIA_ANK_PERMP_R.PERIASAMY.PD
F. Received on: August 17th, 2017.
Peddemors AJH, Lankhorst MM and de Heer J (2003). Presence, Location, and Instant
Messaging in a Context-Aware Application Framework. In MS Chen et al. (Eds).
MDM 2003, LNCS 2574, pp. 325-330. Springer-Verlag Berlin Heidelberg.
Ruff HA, Narayanan S and Draper MH (2002). Human Interaction with Levels of
Automation and Decision-Aid Fidelity in the Supervisory Control of Multiple
Simulated Unmanned Air Vehicles. Presences, 11(4), 335-351.
Tang JC, Yankelovich N and Begole J (2000). ConNexus: Instant Messaging for the
Workplace: Sun Microsystems Laboratories Report.
Blume, A., & Bowden, B. (2009, December 16). Google Labs. Retrieved March 12,
2011, from Browser S
ize: http://browsersize.googlelabs.com/
Deveria, A. (n.d.). Filesystem & FileWriter API.Retrieved 08 10, 2011, from When can I
use...: http://caniuse.com/#feat=filesystem
Google Trends. (n.d.). Search trends for Adobe Air, Web applications, Adobe Flash
and .NET. Retrieved July 22, 2011, from Google Trends:
http://www.google.com/trends?q=adobe+air%2C+web+application+|+web+app+|
+web+applications+|+web+apps%2C+macromedia+flash+|+adobe+flash%2C+
%22.net+framework%22&ctab=0&geo=all&date=all&sort=0
Icaza, M. d. (2011, May 16). Announcing Xamarin. Retrieved July 28, 2011, from
Tirania: http://tirania.org/blog/archive/2011/May-16.html
Tom Christiansen and Nathan Torkington. Perl Cookbook. O'Reilly and Associates,Inc.,
Sebastopol, CA, 1996.
CSE (2006). Background and Literature review on Chat System. Available at:
https://www.cse.unr.edu/~fredh/papers/thesis/006-cetin/paper.pdf. Received on:
Thursday 17th, 2017.
<?php
session_start();
if(!isset($_SESSION['user'], $_SESSION['pass'])){
header('location:index.php');
?>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Welcome to chatSystem</title>
</head>
<body>
<div class="head"></div>
</div>
</td>
<div class="dropdown-content">
<table><tr><td>
</td></tr></table>
</div>
</td>
<div class="dropdown-content">
<table><tr><td>
<a href="#"><?php
include('auth.php');
$query = mysql_query("SELECT * FROM register WHERE
username='$_SESSION[user]'");
$num = mysql_num_rows($query);
$fetch = mysql_fetch_array($query);
echo "
";
?>
</a>
</td></tr></table>
</div>
</td>
Logout </a></td></tr></table></div>
<tr>
<tr>
<tr>
<td>
<table style="text-indent:30px">
<?php
include('auth.php');
$num = mysql_num_rows($query);
while($col = mysql_fetch_array($query)){
echo "<tr>
</td>
</tr>";
?>
</table>
</td>
</tr>
</table>
</td>
<!-- body --><?php /** Body container goes here */; ?>
<table style="color:#000099;text-indent:30px;color:#999900">
<tr>
<tr>
Another new look at Josh Brolin’s Cable from Deadpool 2 recently hit social media. The
casting of Nathaniel Summers, also known as Cable, was the hot Hollywood talent search
of the last few months. And now a brand new photo has been revealed that may deepen
</td>
</tr>
<tr>
<td align="right">
With a catalog of over 12 million products and free 2-day shipping, Wayfair is changing
the way you shop for everything home
Dislike
</tr>
<tr>
<td><img src="../../../Users/YOUNG-GOLD/Pictures/IMAGES/24-cast-tv-serie-
wallpapers-1024x768.jpg" width="400" height="150"></td>
<td align="justify">
Adolf Hitler thought he was going to win. The Nazis didn’t just take battle plans and
explosives into World War II; they had plans for a whole new world order. When the
fighting and the bloodshed were done, they were going to build a new fascist empire over
the ruins of Europe. The Nazis already had already written up the blueprints for their new
order. If everything had gone according to Hitler’s plan, the world today would be a
different place. And in many ways, the Nazi new world order wouldn’t have been what
you’d expect. 10 Returning American Land To The Natives The Nazis might have been
genocidal white supremacists, but when it came to Native Americans, they were
surprisingly accepting.
1187
Reactions
</td>
</tr>
</table>
</td>
<!-- body ends --><?php /** Body ends here */;?>
<br />
<tr>
</tr>
<tr><td height="10"></td></tr>
<tr>
</tr>
<tr>
</tr>
<tr>
</tr>
<tr>
</tr>
<tr>
</tr>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
</head>
<body>
<div id="dbody">
</div>
<div
style="position:absolute;right:620px;top:100px;background:#333333;border:dotted;width
:0px;height:500px;border-color:#996633"></div>
<div class="dc">
<p> Register now to have optimum access to the system and start conversation with your
love ones </p>
<p> All user can perform task like chat, add friend, remove unwanted friends, edit their
profile,
change login password, and many more. </p><br /><br /><br />
</div>
<div class="db">
<label>
<label>
</form>
</div>
</body>
<script type="text/javascript">
alert(msg);
</script>
</html>