- 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: taewan2002@gachon.ac.kr, whitekuj02@gachon.ac.kr, zhdkf2002@gachon.ac.kr, wndo020209@gachon.ac.kr
- 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