- description: Gachon Univ. 21, Network Term Project - KakaoTalk Clone
- https://www.youtube.com/watch?v=vGXFO11I8CE
- Server : https://github.com/taewan2002/NW_KakaoTalk_Server
- author: 조태완, 김의진, 구승현, 이현우
- version: 1.0.0
- university: Gachon University
- department: Artificial Intelligence
- email: [email protected], [email protected], [email protected], [email protected]
- last update: 2022-12-14
- use protocol.java file
- Serializable interface is used
- Send to server as chatting_client.java file
- Room name must be unique
- (room in number + members + made time) is hashed by md5 hash
| type | name | description |
|---|---|---|
| int | typeofrequest | type of request number |
| String | sender | user_id of requst member |
| ArrayList<String> | list | invite chat members |
- Send to server as chatting_client.java file
| type | name | description |
|---|---|---|
| int | typeofrequest | type of request number |
| String | sender | user_id of requst member |
| String | roomnumber | chat room number with md5 |
| ArrayList<String> | list | invite chat members |
- Send to server as chatting_client.java file
| type | name | description |
|---|---|---|
| int | typeofrequest | type of request number |
| String | sender | user_id of requst member |
| String | roomnumber | chat room number with md5 |
- Send to server as chatting_client.java file
- every message is cached in server
- message is sent to user when user is online
- message is just cached when user is offline
| type | name | description |
|---|---|---|
| int | typeofrequest | type of request number |
| String | roomnumber | chat room number with md5 |
| String | sender | user_id of requst member |
| String | message | message content |
| String | time | time when send messege |
| boolean | file_exist | Determine if a file exists |
| String | file_path | Storage Location of sended file in server |
- Send to server as chatting_client.java file
| type | name | description |
|---|---|---|
| int | typeofrequest | type of request number |
| String | sender | user_id of requst member |
- Send to server as get_data.java file
- get room list of user
| type | name | description |
|---|---|---|
| int | typeofrequest | type of request number |
| String | sender | user_id of requst member |
- Send to server as get_data.java file
| type | name | description |
|---|---|---|
| int | typeofrequest | type of request number |
| String | sender | user_id of requst member |
| String | roomnumber | chat room number with md5 |
- Send to server as get_data.java file
| type | name | description |
|---|---|---|
| int | typeofrequest | type of request number |
| String | name | user name info |
| String | phone | user phone number |
- Send to server as get_data.java file
| type | name | description |
|---|---|---|
| int | typeofrequest | type of request number |
| String | id | user id |
| String | user email | |
| String | phone | user phone number |
- Send to server as get_data.java file
| type | name | description |
|---|---|---|
| type | typeofrequest | type of request number |
| String | id | user id |
| String | password | new user password |
- Send to server as chatting_client.java file
| type | name | description |
|---|---|---|
| int | typeofrequest | type of request number |
| String | sender | user_id of requst member |
| ArrayList<String> | list | add friend list |
- Send to server as get_data.java file
| type | name | description |
|---|---|---|
| int | typeofrequest | type of request number |
| String | sender | user_id of requst member |
| ArrayList<String> | list | online user list |
- Send to server as get_data.java file
| type | name | description |
|---|---|---|
| int | typeofrequest | type of request number |
| String | sender | user_id of requst member |
- Send to server as get_data.java file
| type | name | description |
|---|---|---|
| int | typeofrequest | type of request number |
| String | sender | user_id of requst member |
| String | friend | user_id of friend member |
- Send to server as get_data.java file
| type | name | description |
|---|---|---|
| int | typeofrequest | type of request number |
| String | sender | user_id of requst member |
- Send to server as get_data.java file
| type | name | description |
|---|---|---|
| int | typeofrequest | type of request number |
| String | sender | user_id of requst member |
- Chatting room is created when two or more users are chatting
- user send message to server type 4
- sever send message to all user in room type 4 and cache message in server
- user receive message from server type 4 and show message in chat window
- if user is offline, message is cached in server
- if user is online, message is shown in chat window
- if user login, get cached message from server and show message in chat window
- if user logout, cached message is deleted in client
roomnumber: md5(number of members + user_id of members + time)- https://en.wikipedia.org/wiki/MD5
user_id: mysql auto increment- https://dev.mysql.com/doc/refman/5.6/en/innodb-auto-increment-handling.html