Client/Server Socket Programmierung Projekte

Gast #6907095
Lesenswert?

Hi!

Mir wurde gesagt, dass man hier richtig ist, wenn man Ratschläge rund 
ums Programmieren sucht.

Ich bin eine "fortgeschrittene Anfängerin" und habe neulich ein Video 
über Socket Programmierung gesehen.
Über Weihnachten habe ich viel Zeit und wollte mir hier Inspiration für 
ein Programmier Projekt holen.

Hat hier jemand schon was im Bereich Server/Client Programmierung 
gemacht und hätte einen Vorschlag für mich?

Wahrscheinlich werden das viele jetzt kritisieren, aber ich programmiere 
hauptsächlich in C.
Hab auch wenig Java Kenntnisse aber mein Ziel ist es meine C Kenntnisse 
zu vertiefen.

Icu bin mal gespannt was ihr für interessante Ideen habt :)
Gast #6907108
Lesenswert?

Welche Ergebnisse hat denn deine Recherche bisher gezeigt? Welche 
Projekte hst du gefunden und welche Erkenntnisse hast du daraus gwonnen. 
Schreibe doch ausführlich dazu, damit man weiss, wo man sinnvoller Weise 
beginnen soll zu erzählen.
Gast #6907121
Lesenswert?

Zeh schrieb:
> Welche Projekte hst du gefunden und welche Erkenntnisse hast du daraus
> gwonnen.

Ich habe zum Beispiel ein paar Sachen zu Chat Server gefunden und vieles 
aus dem Bereich IOT und Raspberry Pi. Zweiteres finde ich auch 
interessant aber ich habe keine solche Hardware zuhause (ausser einen PC 
und ein Laptop)
(Firma: egal) #6907320
Lesenswert?

Alexandra schrieb:
> Zeh schrieb:
>> Welche Projekte hst du gefunden und welche Erkenntnisse hast du daraus
>> gwonnen.
>
> Ich habe zum Beispiel ein paar Sachen zu Chat Server gefunden und vieles
> aus dem Bereich IOT und Raspberry Pi. Zweiteres finde ich auch
> interessant aber ich habe keine solche Hardware zuhause (ausser einen PC
> und ein Laptop)

Versuch doch vielleicht erstmal ein einfaches Datenpaket auf deinem 
eigenen Rechner zwichen zwei (selbstgeschriebenen) Anwendungen 
auszutauschen:
- 
https://docs.microsoft.com/de-de/windows/win32/winsock/getting-started-with-winsock
- https://riptutorial.com/posix/topic/4706/sockets

Ob die beiden Anwendungen auf dem selben Rechner laufen oder eine davon 
am anderen Ende der Welt steht ist der Software dabei völlig egal, da 
ändert sich nur die IP und ggf. der Port. Zum Üben ist es aber nicht 
verkehrt beides direkt unter Kontrolle zu haben.

Sowas wie Chat oder die ganzen Spielereien sind dann später 
Applicationlayer dass oberhalb davon aufsetzt.
Gast #6907484
Lesenswert?

Alexandra schrieb:
> ... paar Sachen ... gefunden ...

Das ist doch schon was. Sinnvoll kannst du nur das programmieren, was du 
auch auf Hardware testen kannst. Zuerst sieh zu, dass du dir die 
Grundlagen mit wenig Aufwand erarbeitest. Fang an mit einem Programm, 
das Client  und Server enthält und lass die kommunizieren. Dann teile 
auf in ein Server Programm und ein Server Programm auf der selben 
Maschine. Dann verteile das auf PC und Laptop und kommuniziere über das 
WLAN. Bis dahin fällt dir sicher eine Anwendung ein, die dich 
interessiert: Austausch von binären Daten, Text, Sprache, Musik, Bilder, 
... auch immer. Mit einer zweiten Person kann das dann auch übers Inet 
laufen.
Gast #6907500
Lesenswert?

@Zeh & @irgendwer
Vielen Dank, das sind gute Ideen! Wahrscheinlich habe ich etwas zu 
kompliziert gedacht aber das ist schon ein guter Ansatz für den Anfang.
Sobald ich ein paar Ergebnisse erzielt habe, werde ich berichten!:)
#6907760
Lesenswert?

Meine Empfehlung wäre, Dir ein Projekt zu suchen was Dir vor allem Spaß 
macht oder im Alltag nützlich ist. Also weniger vom Aspekt Client/Server 
aus was zu suchen und das Ganze als explizites Lernprojekt anzugehen und 
dann abzuhaken, sondern so daß da hinterher für Dich ein klarer Nutzen 
über das Lernen hinaus entsteht.

Das ist für die Motivation sehr hilfreich. So daß Du das nicht nach 2 
Wochenenden in halbfertigem Zustand aufgibst, sondern Du Spaß dran hast 
das durchzuziehen, Du es hinterher im Praxiseinsatz siehst und dann 
evtl. noch bestehende Fehler oder Designschwächen behebst.

Gerade der Punkt Überführen in den Praxiseinsatz, Feedback daraus und 
dann Verbesserung des Codes und evtl. auch des Designs ist etwas bei dem 
ich denke daß Anfänger daraus viel lernen können.
#6909401
Lesenswert?

Bevor wir beginnen. Der Server wartet bis er angefragt wird etwas zu 
machen. Er macht von alleine gar nichts. Der Server Socket ist also 
immer im Receive modus.
Waehrend der Client etwas will und den Server dafuer anfragt. Der Client 
Socket is also im Transmit modus. Der Client socher, beim Benutzer kommt 
immer ins Internet, waehrend der Server nicht einfach etwas senden kann, 
er kommt nicht durch durch Firewall des Clients.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren