update 1.0.1
This commit is contained in:
@@ -5,18 +5,31 @@ SRC_SERVER = ./src/server.cpp
|
||||
SRC_CLIENT = ./src/client.cpp
|
||||
INSTALL_DIR = /usr/local/bin/
|
||||
|
||||
GREEN = \033[0;32m
|
||||
YELLOW = \033[0;33m
|
||||
RESET = \033[0m
|
||||
RED = \033[0;31m
|
||||
|
||||
build:
|
||||
$(CXX) -o $(DESTDIR)server $(SRC_SERVER) $(CXX_FLAGS)
|
||||
$(CXX) -o $(DESTDIR)client $(SRC_CLIENT) $(CXX_FLAGS)
|
||||
upx $(DESTDIR)server
|
||||
upx $(DESTDIR)client
|
||||
@echo -e "$(GREEN)[ $(YELLOW)25% $(GREEN)] $(RESET)CC SERVER"
|
||||
@$(CXX) -o $(DESTDIR)server $(SRC_SERVER) $(CXX_FLAGS)
|
||||
@echo -e "$(GREEN)[ $(YELLOW)50% $(GREEN)] $(RESET)CC CLIENT"
|
||||
@$(CXX) -o $(DESTDIR)client $(SRC_CLIENT) $(CXX_FLAGS)
|
||||
@echo -e "$(GREEN)[ $(YELLOW)75% $(GREEN)] $(RESET)STRIP SERVER"
|
||||
@upx $(DESTDIR)server >> /dev/null
|
||||
@echo -e "$(GREEN)[ $(YELLOW)100% $(GREEN)] $(RESET)STRIP CLIENT"
|
||||
@upx $(DESTDIR)client >> /dev/null
|
||||
@echo -e "$(GREEN)BUILD SUCCESS$(RESET)"
|
||||
|
||||
runserver:
|
||||
$(DESTDIR)server 127.0.0.1 8000
|
||||
@$(DESTDIR)server 127.0.0.1 43243
|
||||
|
||||
runclient:
|
||||
$(DESTDIR)client 127.0.0.1 8000
|
||||
@$(DESTDIR)client 127.0.0.1 43243
|
||||
|
||||
install:
|
||||
cp -rf $(DESTDIR)server $(INSTALL_DIR)udpchatserver
|
||||
cp -rf $(DESTDIR)client $(INSTALL_DIR)udpchatclient
|
||||
@echo -e "$(GREEN)[ $(YELLOW)50% $(GREEN)] $(RESET)INSTALL SERVER"
|
||||
@cp -rf $(DESTDIR)server $(INSTALL_DIR)udpchatserver
|
||||
@echo -e "$(GREEN)[ $(YELLOW)100% $(GREEN)] $(RESET)INSTALL CLIENT"
|
||||
@cp -rf $(DESTDIR)client $(INSTALL_DIR)udpchatclient
|
||||
@echo -e "$(GREEN)INSTALL SUCCESS$(RESET)"
|
||||
@@ -35,3 +35,142 @@
|
||||
[ i ] lisa [ 17:17:20 ] : gdf
|
||||
[ i ] lisa [ 17:17:20 ] : g
|
||||
[ i ] lisa [ 17:17:20 ] : sdf
|
||||
[ i ] tola [ 08:48:44 ] : hi
|
||||
[ i ] lisa [ 08:48:55 ] : ho
|
||||
[ i ] tola [ 08:49:11 ] : how old are you
|
||||
[ i ] lisa [ 08:49:13 ] : 18
|
||||
[ i ] tola [ 08:49:16 ] : oh
|
||||
[ i ] tola [ 08:49:22 ] : im 20
|
||||
[ i ] lisa [ 08:49:28 ] : good
|
||||
[ i ] tola [ 08:49:30 ] : ok
|
||||
[ i ] tola [ 08:55:33 ] : asdf
|
||||
[ i ] tola [ 08:55:33 ] : asdf
|
||||
[ i ] tola [ 08:55:33 ] : asd
|
||||
[ i ] tola [ 08:55:34 ] : fa
|
||||
[ i ] tola [ 08:55:34 ] : sd
|
||||
[ i ] tola [ 08:55:34 ] : fa
|
||||
[ i ] tola [ 08:55:34 ] : sdf
|
||||
[ i ] tola [ 08:55:34 ] : a
|
||||
[ i ] tola [ 08:55:34 ] : sdf
|
||||
[ i ] tola [ 08:55:36 ] : saf
|
||||
[ i ] lisa [ 08:55:37 ] : as
|
||||
[ i ] lisa [ 08:55:37 ] : dfa
|
||||
[ i ] lisa [ 08:55:38 ] : sdf
|
||||
[ i ] lisa [ 08:55:38 ] : asd
|
||||
[ i ] lisa [ 08:55:38 ] : fa
|
||||
[ i ] lisa [ 08:55:38 ] : sdf
|
||||
[ i ] lisa [ 08:55:38 ] : asdfg
|
||||
[ i ] lisa [ 08:55:39 ] : asd
|
||||
[ i ] lisa [ 08:55:39 ] : g
|
||||
[ i ] lisa [ 08:55:39 ] : dvb
|
||||
[ i ] lisa [ 08:55:39 ] : sd
|
||||
[ i ] lisa [ 08:55:39 ] : fb
|
||||
[ i ] lisa [ 08:55:40 ] : sdv
|
||||
[ i ] lisa [ 08:55:40 ] : sdf
|
||||
[ i ] lisa [ 08:55:40 ] : vs
|
||||
[ i ] lisa [ 08:55:40 ] : dfv
|
||||
[ i ] lisa [ 08:55:40 ] : sd
|
||||
[ i ] lisa [ 08:55:41 ] : asd
|
||||
[ i ] lisa [ 08:55:42 ] : f
|
||||
[ i ] lisa [ 08:55:42 ] : asdf
|
||||
[ i ] lisa [ 08:55:42 ] : as
|
||||
[ i ] lisa [ 08:55:42 ] : dfa
|
||||
[ i ] lisa [ 08:55:42 ] : sd
|
||||
[ i ] lisa [ 08:55:42 ] : fa
|
||||
[ i ] lisa [ 08:55:43 ] : s
|
||||
[ i ] lisa [ 08:55:45 ] : clear
|
||||
[ i ] lisa [ 08:55:46 ] : clear
|
||||
[ i ] lisa [ 08:55:47 ] : clear
|
||||
[ i ] lisa [ 08:55:47 ] : clea
|
||||
[ i ] lisa [ 08:55:48 ] : rclear
|
||||
[ i ] lisa [ 08:55:49 ] : clear
|
||||
[ i ] lisa [ 08:55:49 ] : clea
|
||||
[ i ] lisa [ 08:55:50 ] : rclear
|
||||
[ i ] lisa [ 08:55:51 ] : clear
|
||||
[ i ] lisa [ 08:55:52 ] : clear
|
||||
[ i ] lisa [ 08:55:53 ] : celar
|
||||
[ i ] lisa [ 08:55:54 ] : clear
|
||||
[ i ] lisa [ 09:25:26 ] : asd
|
||||
[ i ] lisa [ 09:25:28 ] : asd
|
||||
[ i ] lisa [ 09:25:29 ] : asd
|
||||
[ i ] lisa [ 09:25:30 ] : zsdv
|
||||
[ i ] lisa [ 09:25:30 ] : asdfv
|
||||
[ i ] lisa [ 09:25:31 ] : asdfv
|
||||
[ i ] lisa [ 09:25:31 ] : asd
|
||||
[ i ] lisa [ 09:25:31 ] : f
|
||||
[ i ] lisa [ 09:25:31 ] : asdf
|
||||
[ i ] lisa [ 09:25:31 ] : as
|
||||
[ i ] lisa [ 09:25:32 ] : df
|
||||
[ i ] lisa [ 09:25:32 ] : a
|
||||
[ i ] lisa [ 09:25:32 ] : dsv
|
||||
[ i ] lisa [ 09:25:32 ] : asdv
|
||||
[ i ] lisa [ 09:25:32 ] : a
|
||||
[ i ] lisa [ 09:25:33 ] : sdv
|
||||
[ i ] tola [ 09:26:31 ] : asdf
|
||||
[ i ] tola [ 09:26:31 ] : asd
|
||||
[ i ] tola [ 09:26:32 ] : fas
|
||||
[ i ] tola [ 09:26:32 ] : df
|
||||
[ i ] tola [ 09:26:32 ] : asd
|
||||
[ i ] tola [ 09:26:32 ] : fas
|
||||
[ i ] tola [ 09:26:32 ] : df
|
||||
[ i ] tola [ 09:26:33 ] : asd
|
||||
[ i ] tola [ 09:26:33 ] : fa
|
||||
[ i ] tola [ 09:26:33 ] : sd
|
||||
[ i ] tola [ 09:26:33 ] : fa
|
||||
[ i ] tola [ 09:26:33 ] : sdf
|
||||
[ i ] tola [ 09:26:34 ] : a
|
||||
[ i ] tola [ 09:26:34 ] : sdf
|
||||
[ i ] tola [ 09:26:34 ] : a
|
||||
[ i ] tola [ 09:26:34 ] : sdf
|
||||
[ i ] tola [ 09:26:34 ] : as
|
||||
[ i ] tola [ 09:26:35 ] : df
|
||||
[ i ] tola [ 09:26:35 ] : asdf
|
||||
[ i ] tola [ 09:26:35 ] : a
|
||||
[ i ] tola [ 09:26:35 ] : sd
|
||||
[ i ] tola [ 09:26:35 ] : fa
|
||||
[ i ] tola [ 09:26:36 ] : f
|
||||
[ i ] tola [ 09:26:36 ] : asd
|
||||
[ i ] tola [ 09:26:36 ] : f
|
||||
[ i ] lisa [ 09:26:37 ] : as
|
||||
[ i ] lisa [ 09:26:37 ] : dfa
|
||||
[ i ] lisa [ 09:26:37 ] : sdf
|
||||
[ i ] lisa [ 09:26:38 ] : a
|
||||
[ i ] lisa [ 09:26:38 ] : sdf
|
||||
[ i ] lisa [ 09:26:38 ] : af
|
||||
[ i ] lisa [ 09:26:38 ] : d
|
||||
[ i ] lisa [ 09:26:38 ] : f
|
||||
[ i ] lisa [ 09:26:39 ] : f
|
||||
[ i ] lisa [ 09:26:39 ] : d
|
||||
[ i ] lisa [ 09:26:39 ] : f
|
||||
[ i ] lisa [ 09:26:40 ] : d
|
||||
[ i ] lisa [ 09:26:41 ] : d
|
||||
[ i ] lisa [ 09:26:42 ] : d
|
||||
[ i ] lisa [ 09:26:43 ] : dfgs
|
||||
[ i ] lisa [ 09:26:43 ] : h
|
||||
[ i ] lisa [ 09:26:43 ] : ds
|
||||
[ i ] lisa [ 09:26:43 ] : grfh
|
||||
[ i ] lisa [ 09:26:44 ] : d
|
||||
[ i ] lisa [ 09:26:44 ] :
|
||||
[ i ] lisa [ 09:26:44 ] : rtg
|
||||
[ i ] lisa [ 09:26:50 ] : hello awner foaregjkaeurhgiaergaer gh aurh gaerhga r
|
||||
[ i ] lisa [ 09:26:53 ] : aierh gaueh rgae rhg aherg uae gaer ghaer ghaer gh aer gh aergh
|
||||
[ i ] lisa [ 09:32:48 ] : asdf
|
||||
[ i ] lisa [ 09:32:49 ] : asdf
|
||||
[ i ] lisa [ 09:32:49 ] : asdfg
|
||||
[ i ] lisa [ 09:32:49 ] : sdf
|
||||
[ i ] lisa [ 09:32:50 ] : gs
|
||||
[ i ] lisa [ 09:32:50 ] : dfg
|
||||
[ i ] tola [ 09:32:51 ] : adsf
|
||||
[ i ] tola [ 09:32:51 ] : gs
|
||||
[ i ] tola [ 09:32:51 ] : dfg
|
||||
[ i ] tola [ 09:32:52 ] : sdfgb
|
||||
[ i ] tola [ 09:32:52 ] : s
|
||||
[ i ] tola [ 09:32:52 ] : gh
|
||||
[ i ] tola [ 09:32:52 ] : s
|
||||
[ i ] tola [ 09:32:52 ] : ert
|
||||
[ i ] tola [ 09:32:53 ] : a
|
||||
[ i ] tola [ 09:32:53 ] : sef
|
||||
[ i ] tola [ 09:32:53 ] : bs
|
||||
[ i ] tola [ 09:32:53 ] : dfb
|
||||
[ i ] tola [ 09:32:55 ] : sdb
|
||||
[ i ] lisa [ 09:32:56 ] : sd
|
||||
|
||||
+1
-1
@@ -54,7 +54,7 @@ int main(int argc, char** argv) {
|
||||
addr.sin_addr.s_addr = inet_addr(ip);
|
||||
|
||||
char username[50];
|
||||
std::cout << "Enter tour username:\n\t" << GREEN;
|
||||
std::cout << "Enter your username:\n\t" << GREEN;
|
||||
bzero(username, 50);
|
||||
std::cin.getline(username, 50);
|
||||
sendto(sockfd, username, 50, 0, (struct sockaddr*)&addr, sizeof(addr));
|
||||
|
||||
+71
-3
@@ -1,9 +1,77 @@
|
||||
#ifndef UDP_CHAT_COLORS_H
|
||||
#define UDP_CHAT_COLORS_H
|
||||
|
||||
#define GREEN "\033[0;32m"
|
||||
#define BLUE "\033[0;34m"
|
||||
// reset
|
||||
#define RESET "\033[0m"
|
||||
#define YELLOW "\033[1;33m"
|
||||
|
||||
// regular colrs
|
||||
#define GREEN "\033[0;32m" // GREEN
|
||||
#define BLUE "\033[0;34m" // BLUE
|
||||
#define YELLOW "\033[1;33m" // YELLOW
|
||||
#define RED "\033[0;31m" // RED
|
||||
#define BLACK "\033[0;30m" // BLACK
|
||||
#define PURPLE "\033[0;35m" // PURPLE
|
||||
#define CYAN "\033[0;36m" // CYAN
|
||||
#define WHITE "\033[0;37m" // WHITE
|
||||
|
||||
// bold
|
||||
#define BBLACK "\033[1;30m" // BLACK
|
||||
#define BRED "\033[1;31m" // RED
|
||||
#define BGREEN "\033[1;32m" // GREEN
|
||||
#define BYELLOW "\033[1;33m" // YELLOW
|
||||
#define BBLUE "\033[1;34m" // BLUE
|
||||
#define BPURPLE "\033[1;35m" // PURPLE
|
||||
#define BCYAN "\033[1;36m" // CYAN
|
||||
#define BWHITE "\033[1;37m" // WHITE
|
||||
|
||||
// Underline
|
||||
#define UBLACK "\033[4;30m" // BLACK
|
||||
#define URED "\033[4;31m" // RED
|
||||
#define UGREEN "\033[4;32m" // GREEN
|
||||
#define UYELLOW "\033[4;33m" // YELLOW
|
||||
#define UBLUE "\033[4;34m" // BLUE
|
||||
#define UPURPLE "\033[4;35m" // PURPLE
|
||||
#define UCYAN "\033[4;36m" // CYAN
|
||||
#define UWHITE "\033[4;37m" // WHITE
|
||||
|
||||
// Background
|
||||
#define ON_BLACK "\033[40m" // BLACK
|
||||
#define ON_RED "\033[41m" // RED
|
||||
#define ON_GREEN "\033[42m" // GREEN
|
||||
#define ON_YELLOW "\033[43m" // YELLOW
|
||||
#define ON_BLUE "\033[44m" // BLUE
|
||||
#define ON_PURPLE "\033[45m" // PURPLE
|
||||
#define ON_CYAN "\033[46m" // CYAN
|
||||
#define ON_WHITE "\033[47m" // WHITE
|
||||
|
||||
// High Intensity
|
||||
#define IBLACK "\033[0;90m" // BLACK
|
||||
#define IRED "\033[0;91m" // RED
|
||||
#define IGREEN "\033[0;92m" // GREEN
|
||||
#define IYELLOW "\033[0;93m" // YELLOW
|
||||
#define IBLUE "\033[0;94m" // BLUE
|
||||
#define IPURPLE "\033[0;95m" // PURPLE
|
||||
#define ICYAN "\033[0;96m" // CYAN
|
||||
#define IWHITE "\033[0;97m" // WHITE
|
||||
|
||||
// Bold High Intensity
|
||||
#define BIBLACK "\033[1;90m" // BLACK
|
||||
#define BIRED "\033[1;91m" // RED
|
||||
#define BIGREEN "\033[1;92m" // GREEN
|
||||
#define BIYELLOW "\033[1;93m" // YELLOW
|
||||
#define BIBLUE "\033[1;94m" // BLUE
|
||||
#define BIPURPLE "\033[1;95m" // PURPLE
|
||||
#define BICYAN "\033[1;96m" // CYAN
|
||||
#define BIWHITE "\033[1;97m" // WHITE
|
||||
|
||||
// High Intensity backgrounds
|
||||
#define ON_IBLACK "\033[0;100m" // BLACK
|
||||
#define ON_IRED "\033[0;101m" // RED
|
||||
#define ON_IGREEN "\033[0;102m" // GREEN
|
||||
#define ON_IYELLOW "\033[0;103m" // YELLOW
|
||||
#define ON_IBLUE "\033[0;104m" // BLUE
|
||||
#define ON_IPURPLE "\033[0;105m" // PURPLE
|
||||
#define ON_ICYAN "\033[0;106m" // CYAN
|
||||
#define ON_IWHITE "\033[0;107m" // WHITE
|
||||
|
||||
#endif // UDP_CHAT_COLORS_H
|
||||
+6
-13
@@ -14,13 +14,13 @@
|
||||
|
||||
#define LOGFILE "udpchatserver.log"
|
||||
|
||||
//структура одного клиента на сервере
|
||||
// structure of one client on server
|
||||
struct client_t {
|
||||
sockaddr_in addr;
|
||||
char username[1024]; //пример данных которые нужно менять при отправке пакета от клиента на наш сервер
|
||||
char username[1024]; // example of data
|
||||
};
|
||||
|
||||
const int num_of_clients = 64; // количество клиентов
|
||||
const int num_of_clients = 64; // clients quantity
|
||||
client_t clients[num_of_clients];
|
||||
|
||||
bool HaveClient(sockaddr_in addr)
|
||||
@@ -43,7 +43,6 @@ int main(int argc, char** argv) {
|
||||
|
||||
int sockfd = -1;
|
||||
struct sockaddr_in server_addr;
|
||||
socklen_t addr_size;
|
||||
int n;
|
||||
|
||||
sockfd = socket(AF_INET, SOCK_DGRAM, 0);
|
||||
@@ -62,23 +61,18 @@ int main(int argc, char** argv) {
|
||||
if (n < 0) {
|
||||
perror("[-] bind error");
|
||||
exit(1);
|
||||
} else {
|
||||
printf("%sSERVER STARTED ON %sIP %s%s %sPORT %s%d%s\n", BIGREEN, BIYELLOW, BIWHITE, ip, BIYELLOW, BIWHITE, port, RESET);
|
||||
}
|
||||
|
||||
sockaddr_in client_addr;
|
||||
unsigned int clientlength = sizeof(client_addr);
|
||||
|
||||
for (int i = 0; i < num_of_clients; i++) {
|
||||
std::cout << clients[i].addr.sin_port << clients[i].addr.sin_addr.s_addr << ";";
|
||||
}
|
||||
|
||||
|
||||
char buffer[1024];
|
||||
fd_set rset;
|
||||
|
||||
FD_ZERO(&rset);
|
||||
int maxfdp1 = sockfd + 1;
|
||||
int nready;
|
||||
|
||||
while (1) {
|
||||
FD_SET(sockfd, &rset);
|
||||
if ((select(maxfdp1, &rset, NULL, NULL, NULL)) < 0) {
|
||||
@@ -133,14 +127,13 @@ int main(int argc, char** argv) {
|
||||
strcat(res, buffer);
|
||||
strcat(res, RESET);
|
||||
sendto(sockfd, res, 1024, 0, (sockaddr *) &clients[i].addr, sizeof(clients[i].addr));
|
||||
printf("[ i ] %s\n", res);
|
||||
printf("%s[ i ] %s\n", CYAN, res);
|
||||
strcat(logres, " [ ");
|
||||
strcat(logres, time);
|
||||
strcat(logres, " ] : ");
|
||||
strcat(logres, buffer);
|
||||
logfile << "[ i ] " << logres << "\n";
|
||||
logfile.close();
|
||||
// fprintf(logfile, "[ i ] %s\n", res);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user