Added server requests for clients
This commit is contained in:
parent
33fda52f2d
commit
3c4243ddcf
Binary file not shown.
32
src/server.c
32
src/server.c
@ -14,6 +14,13 @@
|
|||||||
#define SERVER_IP "192.168.1.120"
|
#define SERVER_IP "192.168.1.120"
|
||||||
#define PASSWORDS "./files/KEYS.bin"
|
#define PASSWORDS "./files/KEYS.bin"
|
||||||
|
|
||||||
|
typedef struct Request
|
||||||
|
{
|
||||||
|
unsigned char type;
|
||||||
|
char *key;
|
||||||
|
int ID;
|
||||||
|
} Request;
|
||||||
|
|
||||||
int main(void)
|
int main(void)
|
||||||
{
|
{
|
||||||
// Connect and bind to a port (8080) on the server
|
// Connect and bind to a port (8080) on the server
|
||||||
@ -46,7 +53,7 @@ int main(void)
|
|||||||
printf("Server listening on %s:8080\n", SERVER_IP);
|
printf("Server listening on %s:8080\n", SERVER_IP);
|
||||||
|
|
||||||
struct sockaddr_in cli;
|
struct sockaddr_in cli;
|
||||||
int len = sizeof(cli);
|
u_int32_t len = sizeof(cli);
|
||||||
|
|
||||||
int connfd = accept(sockfd, (struct sockaddr *)&cli, &len);
|
int connfd = accept(sockfd, (struct sockaddr *)&cli, &len);
|
||||||
if (connfd < 0)
|
if (connfd < 0)
|
||||||
@ -61,29 +68,14 @@ int main(void)
|
|||||||
// Listen to the client requests
|
// Listen to the client requests
|
||||||
while (1)
|
while (1)
|
||||||
{
|
{
|
||||||
char buffer[1024] = {0};
|
// Receive the request
|
||||||
int bytes_read = read(connfd, buffer, sizeof(buffer));
|
Request req;
|
||||||
if (bytes_read <= 0)
|
int n = recv(connfd, &req, sizeof(Request), 0);
|
||||||
|
if (n <= 0)
|
||||||
{
|
{
|
||||||
fprintf(stderr, "Client disconnected\n");
|
fprintf(stderr, "Client disconnected\n");
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
printf("Received request: %s\n", buffer);
|
|
||||||
|
|
||||||
// Respond with the list of passwords
|
|
||||||
FILE *file = fopen(PASSWORDS, "r");
|
|
||||||
if (file == NULL)
|
|
||||||
{
|
|
||||||
fprintf(stderr, "Could not open password file\n");
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
char passwords[1024] = {0};
|
|
||||||
fread(passwords, sizeof(char), sizeof(passwords), file);
|
|
||||||
fclose(file);
|
|
||||||
|
|
||||||
write(connfd, passwords, strlen(passwords));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Close the socket
|
// Close the socket
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user