update 1.0.1
This commit is contained in:
+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