Skip to content

Commit 2408ff5

Browse files
Create README.md
README updated
1 parent 9bf42f8 commit 2408ff5

File tree

1 file changed

+15
-0
lines changed

1 file changed

+15
-0
lines changed

README.md

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
## Directories
2+
- **release**<br />
3+
The release version of the project (no need to build project from source)
4+
- **client**<br />
5+
The source code for client app written in NetBeans IDE using the java swing framework.
6+
- **server**<br />
7+
The source code for server app written in Eclipse IDE without any GUI and should be run using the command line ```<path-to-your-java> -jar server.jar``` in a command-line interface (CLI)<br />
8+
9+
## Project Architecture (Diagram)
10+
![Diagram](https://github.com/Alireza-Razavi/SimpleJavaChat/blob/main/diagram.png)<br /><br />
11+
- **The project uses TCP as transfer layer (third layer in TCP/IP)**
12+
- **JSON is used as data interchange format in this project (Application layer in TCP/IP)**
13+
- **The connection between clients and server is clear but in additional each client randomly chooses a listening port for incoming messages from other clients.<br />When a client wants to establish a connection with another one, it requests the listening port of the target client from server and then connects to it. (Clients are directly chatting with each other and the server doesn't route the messages, It is possible until clients have static IP addresses and also they are all in one network.)**
14+
## Demonstration
15+
![Demo](https://github.com/Alireza-Razavi/SimpleJavaChat/blob/main/demo.gif)

0 commit comments

Comments
 (0)