added test client
This commit is contained in:
parent
c3418f2ec4
commit
a9da4251e2
@ -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
49
client/main.c
Normal 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
10
main.c
@ -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;
|
||||
}
|
||||
23
server.c
23
server.c
@ -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
11
server/main.c
Normal 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
44
server/server.c
Normal 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() {
|
||||
|
||||
}
|
||||
@ -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
|
||||
Loading…
Reference in New Issue
Block a user