added test client

This commit is contained in:
Arthur-Coppey 2021-07-08 13:42:02 +02:00
parent c3418f2ec4
commit a9da4251e2
9 changed files with 112 additions and 36 deletions

View File

@ -3,4 +3,5 @@ project(qotd C)
set(CMAKE_C_STANDARD 99)
add_executable(qotd main.c quote.c quote.h server.c server.h)
add_executable(server server/main.c server/quote.c server/quote.h server/server.c server/server.h)
add_executable(client client/main.c)

49
client/main.c Normal file
View File

@ -0,0 +1,49 @@
//
// Created by k0rb4k on 22/04/2021.
//
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
#include <stdio.h>
int main(int argc, char *argv[]) {
struct sockaddr_in server;
int sock;
server.sin_family = AF_INET;
server.sin_addr.s_addr = inet_addr("127.0.0.1");
server.sin_port = htons(17);
sock = socket(server.sin_family, SOCK_STREAM, IPPROTO_IP);
if (sock == -1) {
puts("socket not created");
return 1;
}
if (connect(sock, (const struct sockaddr *) &server, sizeof(server)) < 0) {
puts("connection failed");
return 2;
}
char *payload = "I dream of sushi";
if (send(sock, payload, strlen(payload), 0) < 0) {
puts("error while sending payload");
return 3;
}
char response[2048];
if (recv(sock, response, 2048, 0)) {
puts("receive failed");
return 4;
}
puts("server response :");
puts(response);
close(sock);
return 0;
}

10
main.c
View File

@ -1,10 +0,0 @@
#include "quote.h"
#include "server.h"
int main(int argc, char *argv[]) {
char quote[1024];
getRandomQuote(quote);
printf("%s\n", quote);
return 0;
}

View File

@ -1,23 +0,0 @@
//
// Created by k0rb4k on 30/03/2021.
//
#include "server.h"
void tcpListen() {
int serverFd;
struct sockaddr_in address;
address.sin_family = AF_INET;
address.sin_addr.s_addr = INADDR_ANY;
address.sin_port = htons(17);
serverFd = socket(AF_INET, SOCK_STREAM, 0);
bind(serverFd, (const struct sockaddr *) &address, sizeof address);
// TODO: listen and respond
}
void udpListen() {
}

11
server/main.c Normal file
View File

@ -0,0 +1,11 @@
#include "quote.h"
#include "server.h"
int main(int argc, char *argv[]) {
// char quote[1024];
// getRandomQuote(quote);
// printf("%s\n", quote);
tcpServer();
return 0;
}

44
server/server.c Normal file
View File

@ -0,0 +1,44 @@
//
// Created by k0rb4k on 30/03/2021.
//
#include "server.h"
void tcpServer() {
int serverSocket, clientSocket;
unsigned long addressLength;
struct sockaddr_in serverAddress, clientAddress;
serverAddress.sin_family = AF_INET;
serverAddress.sin_addr.s_addr = INADDR_ANY;
serverAddress.sin_port = htons(17);
serverSocket = socket(serverAddress.sin_family, SOCK_STREAM, IPPROTO_IP);
if (serverSocket == -1) {
puts("socket not created");
exit(1);
}
puts("socket created");
if (bind(serverSocket, (const struct sockaddr *) &serverAddress, sizeof serverAddress) < 0) {
puts("bind failed");
exit(2);
}
listen(serverSocket, 5);
addressLength = sizeof(struct sockaddr_in);
clientSocket = accept(serverSocket, (struct sockaddr *) &clientAddress, (socklen_t *) addressLength);
if (clientSocket < 0) {
puts("client connection failed");
exit(3);
}
puts("client connected");
write(clientSocket, "test", strlen("test"));
// TODO: listen and respond
}
void udpServer() {
}

View File

@ -7,9 +7,13 @@
#include <sys/socket.h>
#include <netinet/in.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
#include <stdio.h>
void tcpListen();
void tcpServer();
void udpListen();
void udpServer();
#endif //QOTD_SERVER_H