Java Chat Project

Project Title: “Adda-Khana”

Computer Network is integrated into daily life, often in modern communication. To ensure a nice communication in Local Area users, we have designed a chat program “Adda-Khana”. The word “Adda-Khana” is Bangla word, means chat room. In this application, users can chat with other members in a local network. Besides, he can easily share documents, audio files and pictures. The program is developed as a final project of Computer Networking Course.

Different Java network programming APIs have used in our program. The term network programming refers to writing programs that execute across multiple devices in which the devices are all connected to each other using a network. The java.net package of the J2SE APIs contains a collection of classes and interfaces that provide the low-level communication details, allowing us to write programs that focus on solving the problem at hand.

The two common network protocols:

·    TCP: TCP stands for Transmission Control Protocol, which allows for reliable communication between two applications. TCP is typically used over the Internet Protocol, which is referred to as TCP/IP.

·    UDP: UDP stands for User Datagram Protocol, a connection-less protocol that allows for packets of data to be transmitted between applications.

Execution environment:

OS: Windows XP, Windows 7
Language: JAVA
Development Tool: Net bean
Database: MySQL
Network: Local host, LAN

TCP Connection
Procedure of the experiment:

·          TCP connection is used between server and client to ensure secure connection
User Log in Panel
·         There will a timer in client server. After sending a request it will wait a fixed time. If failed to connect with server than an error message will appear at client part.
 ·         The server threads will always ready and able to handle multiple client requests. In this reason, we use Multiple Thread in server side so that we can easily control different user or user class.
·         There are specific passwords for users. And we use MySQL database to store information. 
·         We also stored information about how much time one client passed in this server, his last entry time, and his history and so on.
·         Again we use UDP connection to upload file in server or download file from server.
·         There will two types of files. One that anyone can download and two that some specific user only can download.
·         We use JFrame class to make swing component and networking classes to make Server socket class or Datagram packets.

Discussion & conclusions:

From previous lab works, we had experience about Sever socket and Datagram Packet application programs. As a result, we can implement our project through past experience. Our honorable teacher also helped us by giving his valuable suggestions and directions. From this application, we gained a real experience about network programming in Local area connection.

Possible errors & limitations:

·         Graphical user interface may not fully user friendly
·         There are multiple threads that are not checked with proper exception cases
User Dashboard
·         Possible errors are not handled properly

References:

[1] Computer Networking – James Kurose & Ross
[2] How to program Java – Deitel & Deitel







Server window




মন্তব্যসমূহ