summaryrefslogtreecommitdiffstats
path: root/03_exercise/echo_server
diff options
context:
space:
mode:
Diffstat (limited to '03_exercise/echo_server')
-rw-r--r--03_exercise/echo_server/Makefile22
-rw-r--r--03_exercise/echo_server/client.c47
-rw-r--r--03_exercise/echo_server/server.c53
3 files changed, 0 insertions, 122 deletions
diff --git a/03_exercise/echo_server/Makefile b/03_exercise/echo_server/Makefile
deleted file mode 100644
index df023d1..0000000
--- a/03_exercise/echo_server/Makefile
+++ /dev/null
@@ -1,22 +0,0 @@
-#!/usr/bin/make
-.SUFFIXES:
-.PHONY: all run clean
-.SILENT: run
-
-TAR = client server
-CFLAGS = -c -Os -Wall -Werror
-
-%.o: %.c
- $(CC) $(CFLAGS) $^ -o $@
-
-%: %.o
- $(CC) -o $@ $^
-
-all: $(TAR)
-
-run: all
- ./server&
- ./client
-
-clean:
- $(RM) $(RMFILES) $(TAR) *.o
diff --git a/03_exercise/echo_server/client.c b/03_exercise/echo_server/client.c
deleted file mode 100644
index a664221..0000000
--- a/03_exercise/echo_server/client.c
+++ /dev/null
@@ -1,47 +0,0 @@
-
-#include <stdio.h>
-#include <stdlib.h>
-
-#include <unistd.h>
-#include <sys/socket.h>
-#include <netinet/in.h>
-#include <arpa/inet.h>
-
-static inline void die(const char* msg)
-{
- perror(msg);
- exit(-1);
-}
-
-int main()
-{
- struct sockaddr_in addr = {
- .sin_family = AF_INET,
- .sin_port = htons(8000),
- .sin_addr.s_addr = inet_addr("127.0.0.1")
- };
- char buf[256];
- int cfd;
-
- if ((cfd = socket(AF_INET, SOCK_STREAM, 0)) < 0)
- die("Couldn't open the socket");
-
- if (connect(cfd, (struct sockaddr*) &addr, sizeof(addr)) < 0)
- die("Couldn't connect to socket");
-
- for (int i = 0; i < 5; ++i)
- {
- if (write(cfd, "Ping", 4) < 0)
- die("Couldn't send message");
-
- printf("[send] Ping\n");
-
- if (read(cfd, buf, sizeof(buf)) < 0)
- die("Couldn't receive message");
-
- printf("[recv] %s\n", buf);
- }
-
- close(cfd);
- return 0;
-}
diff --git a/03_exercise/echo_server/server.c b/03_exercise/echo_server/server.c
deleted file mode 100644
index 5f647c1..0000000
--- a/03_exercise/echo_server/server.c
+++ /dev/null
@@ -1,53 +0,0 @@
-
-#include <stdio.h>
-#include <stdlib.h>
-
-#include <unistd.h>
-#include <sys/socket.h>
-#include <netinet/in.h>
-#include <arpa/inet.h>
-
-static inline void die(const char *msg) {
- perror(msg);
- exit(-1);
-}
-
-int main() {
- struct sockaddr_in srv_addr, cli_addr;
- int sockopt = 1;
- socklen_t sad_sz = sizeof(struct sockaddr_in);
- int sfd, cfd;
- ssize_t bytes;
- char buf[256];
-
- srv_addr.sin_family = AF_INET;
- srv_addr.sin_port = htons(8000);
- srv_addr.sin_addr.s_addr = INADDR_ANY;
-
- if ((sfd = socket(AF_INET, SOCK_STREAM, 0)) < 0)
- die("Couldn't open the socket");
-
- setsockopt(sfd, SOL_SOCKET, SO_REUSEADDR, (char *) &sockopt, sizeof(sockopt));
-
- if (bind(sfd, (struct sockaddr *) &srv_addr, sad_sz) < 0)
- die("Couldn't bind socket");
-
- if (listen(sfd, 1) < 0)
- die("Couldn't listen to the socket");
-
- cfd = accept(sfd, (struct sockaddr *) &cli_addr, &sad_sz);
- if (cfd < 0)
- die("Couldn't accept incoming connection");
-
- while ((bytes = read(cfd, buf, sizeof(buf))) != 0) {
- if (bytes < 0)
- die("Couldn't receive message");
-
- if (write(cfd, buf, bytes) < 0)
- die("Couldn't send message");
- }
-
- close(cfd);
- close(sfd);
- return 0;
-}