importPI19fromDHGE / dhge-pi19-sem3

Mitschriften des Matrikel 2019, aus dem dritten Semester des Studiengangs "Praktische Informatik", an der DHGE
14 stars 8 forks source link

NET: Mitschrifen 30.11.2020 #88

Closed Steve2955 closed 3 years ago

Steve2955 commented 3 years ago

Command results

Details:
Run doctoc ```Shell changed: - /home/runner/work/dhge-pi19-sem3/dhge-pi19-sem3/NET/README.md unchanged: - /home/runner/work/dhge-pi19-sem3/dhge-pi19-sem3/DBS/README.md - /home/runner/work/dhge-pi19-sem3/dhge-pi19-sem3/RES/README.md - /home/runner/work/dhge-pi19-sem3/dhge-pi19-sem3/PRO/README.md - /home/runner/work/dhge-pi19-sem3/dhge-pi19-sem3/SWE/README.md ```

Changed files

Changed file: - NET/README.md

:octocat: Repo | :memo: Issues | :department_store: Marketplace

sthinbetween commented 3 years ago

Wollen wir hier eigentlich noch die Doku für die Übung mit reinnehmen? Wird in Anbetracht der Länge des Quelltextes ggf. unübersichtlich. Vielleicht als extra File?

Steve2955 commented 3 years ago

Wollen wir hier eigentlich noch die Doku für die Übung mit reinnehmen? Wird in Anbetracht der Länge des Quelltextes ggf. unübersichtlich.

@sthinbetween Für das Hauptdokument finde ich die Übungen eigentlich auch zu lang. Ich würde das ebenfalls eher als extra-file sehen, dazu sollten wir uns aber erst mal auf eine einheitliche Ordnerstruktur für alle Module festlegen. Momentan ist das mit den zusätzlichen Files etwas unstrukturiert 😅


Eventuell könnte man das Ganze auch als Spoiler machen ```c #include #include #include #include #include #include #define MAXPENDING 5 #define RECEIVEBUFFER 65535 void handleTCPClient(int clientSocket); int main(int argc, char * argv[]){ int serverSocket; int clientSocket; struct sockaddr_in echoServerAddr; struct sockaddr_in echoClientAddr; unsigned short echoServerPort; unsigned int clientLen; if (argc != 2) { fprintf(stderr, "Usage: % s < Server Port > \n", argv[0]); exit(1); } echoServerPort = atoi(argv[1]); if ((serverSocket = socket(PF_INET, SOCK_STREAM, IPPROTO_TCP)) < 0) { perror("socket() failed"); exit(1); } memset( & echoServerAddr, 0, sizeof(echoServerAddr)); echoServerAddr.sin_family = AF_INET; echoServerAddr.sin_addr.s_addr = htonl(INADDR_ANY); echoServerAddr.sin_port = htons(echoServerPort); if (bind(serverSocket, (struct sockaddr * ) &echoServerAddr, sizeof(echoServerAddr)) < 0) { perror("bind() failed"); exit(1); } if (listen(serverSocket, MAXPENDING) < 0) { perror("listen() failed."); exit(1); } for (;;) { clientLen = sizeof(echoClientAddr); if ((clientSocket = accept(serverSocket, (struct sockaddr * ) &echoClientAddr, &clientLen)) < 0) { perror("accept() failed."); exit(1); } printf("Connection from client %s \n", inet_ntoa(echoClientAddr.sin_addr)); handleTCPClient(clientSocket); } } void handleTCPClient(int clientSocket) { char buf[RECEIVEBUFFER]; int receivedMessageSize; if ((receivedMessageSize = recv(clientSocket, buf, RECEIVEBUFFER, 0)) < 0) { fprintf(stderr,("recv() error\n")); } buf[receivedMessageSize] = '\0'; char *http = "HTTP/1.1 200 OK\r\n\r\nTESTHello World!"; send(clientSocket, http, strlen(http)+1, 0); close(clientSocket); } ```

Dann hätte ich aber noch keinen Vorschlag, wie wir das Ganze in pandoc einbringen können.

RvNovae commented 3 years ago

Ist vielleicht etwas sehr aufwendig, aber wäre es vielleicht möglich, dass es als Spoiler im Code steht, und von Pandoc dann in den Anhang geschoben wird 🤔

Oder man verlinkt einfach den extra file. Dann öffnet sich auch in der PDF halt die Github Seite. Das wär wahrscheinlich am einfachsten

Steve2955 commented 3 years ago

Ist vielleicht etwas sehr aufwendig, aber wäre es vielleicht möglich, dass es als Spoiler im Code steht, und von Pandoc dann in den Anhang geschoben wird 🤔

Oder man verlinkt einfach den extra file. Dann öffnet sich auch in der PDF halt die Github Seite. Das wär wahrscheinlich am einfachsten

@RvNovae Zu dem Thema müssen wir uns nochmal was überlegen -> siehe Issue #89