Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

NET: Mitschrifen 30.11.2020 #88

Merged
merged 5 commits into from
Dec 3, 2020
Merged

NET: Mitschrifen 30.11.2020 #88

merged 5 commits into from
Dec 3, 2020

Conversation

Steve2955
Copy link
Member

No description provided.

@Steve2955 Steve2955 added the documentation Improvements or additions to documentation label Dec 3, 2020
@Steve2955 Steve2955 self-assigned this Dec 3, 2020
@Steve2955
Copy link
Member Author

Command results

Details:
Run doctoc
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 | 📝 Issues | 🏬 Marketplace

NET/README.md Outdated Show resolved Hide resolved
NET/README.md Outdated Show resolved Hide resolved
@sthinbetween
Copy link
Member

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
Copy link
Member Author

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
#include <stdio.h>
#include <sys/socket.h>
#include <arpa/inet.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>

#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\n<html><title>TEST</title><body><i>Hello World!</i></body></html>";
	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
Copy link
Member

RvNovae commented Dec 3, 2020

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 Steve2955 merged commit c30ffbe into main Dec 3, 2020
@Steve2955 Steve2955 deleted the NET-Yannis-20201130 branch December 3, 2020 10:15
@Steve2955
Copy link
Member Author

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants