GitHub – toanbku/java-socket-chat

<SESSION_REQ>clientID</SESSION_REQ>
Yêu cầu tạo một chat session từ client. clientID là id của người dùng
Sử dụng 1 lần cho mỗi chat session

<PEER_NAME>userName</PEER_NAME>
Tạo user khi người dùng đăng nhập vào server
userName là tên người dùng

numPort
Tạo port cho user
numPort là số hiệu port

<SESSION_KEEP_ALIVE></SESSION_KEEP_ALIVE>
Nội dung request do user gửi lên server
User request 10s/lần bao gồm tên user và trạng thái

statusUser
Thông báo trạng thái user
statusUser là trạng thái user

<SESSION_DENY />
Từ chối người dùng kết nối tới server
Từ chối sau khi người dùng login

<SESSION_ACCEPT></SESSION_ACCEPT>
Chấp nhận người dùng kết nối tới server
Chấp nhận sau khi người dùng login

<CHAT_REQ>userName</CHAT_REQ>
Yêu cầu tạo chat riêng tư từ một user với user khác
userName là tên user tạo yêu cầu chat riêng tư

stringIP
Định danh IP cho user
stringIP là IP của user

<CHAT_DENY />
Từ chối tạo chat session
Từ chối sau khi có yêu cầu tạo chat riêng tư

<CHAT_ACCEPT />
Chấp nhận tạo chat session
Chấp nhận sau khi có yêu cầu tạo chat riêng tư

<CHAT_MSG> Message</CHAT_MSG>
Gửi nội dung chat
Message được gửi khi user đồng ý tạo chat riêng tư

peerData
Xác định peer của user do server trả về
peerData là peer của user gồm name, port, IP

<FILE_REQ> fileName</FILE_REQ>
Yêu cầu gửi file
fileName là tên file muốn gửi

<FILE_REQ_NOACK />
Từ chối yêu cầu gửi file
Sử dụng sau khi có yêu cầu gửi file

<FILE_REQ_ACK></FILE_REQ_ACK>
Chấp nhận yêu cầu gửi file
Sử dụng sau khi có yêu cầu gửi file

<FILE_DATA_BEGIN />
Bắt đầu gửi file
Quá trình gửi file sau khi người gửi và nhận đồng ý

<FILE_DATA>fileData</FILE_DATA>
Nội dung file cần chuyển

<FILE_DATA_END />
Kết thúc quá trình gửi file
Yêu cầu bởi người gửi file

<CHAT_CLOSE />
Kết thúc chat riêng tư
Sử dụng sau khi tạo chat riêng tư

MAX_MSG_SIZE
102400
Kích thước tối đa của một message(file) trong chat

SERVER_ONLINE
“RUNNING”
User đang online

SERVER_OFFLINE
“STOP”
User thoát khỏi chat session