# C++ Server und Client?



## SvKing (7. September 2005)

Hallo,
kann mir jemand sagen, wie ich einen Client und einen Server in C++ erstelle?
der Server soll Befehle ausführen, die er vom Clienten erhällt.

kann mir jemand helfen? 
mfg. Sv


----------



## deepthroat (7. September 2005)

Hi.

Also da gibt es eine ganze Reihe von Möglichkeiten. Erklär doch bitte erstmal wie deine Anwendung aussehen soll. Laufen beide Programme z.B. auf dem gleichen Rechner oder nicht? Gibt es zu einem Zeitpunkt einen Client oder können es auch mehrere sein? Unter welcher Umgebung soll das denn laufen? Windows? Welche Programmiersprache wolltest du denn benutzen, C oder C++?

/edit: Mist, da hab ich wohl die Betreffzeile übersehen.  :-(


----------



## SvKing (7. September 2005)

Also das ganze soll soeine art chatprogramm werden, mit der man auch andere befehle ausführen kann, wie zum Beispiel Dateien Schicken oder ähnlichen (aber erstmal nur ein reines chatprogramm) 

Der server soll auf einem rechner laufen wo mehrere Clients (auf anderen rechnern) übers internet zugreifen.

Ich würde dazu C++ benutzen (bin zwar noch ziemlich neu in C++ aber deswegen mache ich sowas ja  bissl rumprobieren)


das ganze soll am besten über eine Win32 anwendung laufen wenn das geht.


----------



## deepthroat (7. September 2005)

Also ich würde sagen, da könntest du dich erstmal mit dem IRC-Client Tutorial von Tobias K. und dem Chat Server Tutorial (ist allerdings für .NET in C#) beschäftigen.

Außerdem kannst du mal hier im Board nach "socket" suchen, da bekommst du dann ein paar Themen wo auch etliche Links drin sind, z.B. http://www-user.tu-chemnitz.de/~roej/sockets.html.


----------



## SvKing (9. September 2005)

also, ich habe mal ausprobiert dieses UPD Server Beispiel zu machen.
Ich habe also eine Win32 Konsolenanwendung gemacht und den code reinkopiert.
trotzdem sagt er mir immer da währe ein Fehler, was habe ich falsch gemacht? :-/


----------



## deepthroat (9. September 2005)

Schreib doch bitte genau was er (der Compiler oder wie?) bemängelt hat - also die exakte Fehlermeldung und wenn eine Zeile benannt ist dann auch ruhig diese Zeile plus ein bißchen Kontext (also so 2 Zeilen davor + 2 Zeilen danach) (mit Code Tags) in die Nachricht kopieren.

Und genau von welchem Beispiel sprichst du?


----------



## SvKing (9. September 2005)

*Dieses Beispiel meinte ich*

---------------------------------------
ganz nach unten runterscrollen
http://www-user.tu-chemnitz.de/~roej/sockets.html
*Beispiel 3: UDP-Server*

Ich weis nicht, vieleicht ist das auch nicht wirklich für eine Win32 Konsolenanwendung...
oder der code hat einen Fehler.


----------



## Flegmon (10. September 2005)

Wenn du uns die Fehlermeldung und die Stelle gezeigt hättest, könntest du jetzt schon die Lösung haben. 
- Es ist eine Konsolenanwendung
- Der Code scheint mir richtig zu sein (nur kurz überfogen)
- Es wurde mit gcc getestet -> es kann sein, dass es bei VC++ und anderen Compilern nicht funktioniert! Deswegen Fehlermeldung sagen.


----------



## Matthias Reitinger (10. September 2005)

SvKing hat gesagt.:
			
		

> Ich weis nicht, vieleicht ist das auch nicht wirklich für eine Win32 Konsolenanwendung...
> oder der code hat einen Fehler.


*Lesen*, und nicht nur blind kopieren!



			
				http://www-user.tu-chemnitz.de/~roej/sockets.html hat gesagt.:
			
		

> Die hier vorgestellten Codebeispiele habe ich unter Linux mit dem gcc getestet. Sie sollten aber auch unter jedem anderen Unix, vielleicht sogar mit einigen Änderungen (bei den #include Sektionen) unter Windows mit einem C-Compiler übersetzt werden können.



Unter Windows musst du auf Winsock zurückgreifen, welches andere Headerdateien und bestimmte Initialisierungsmethoden benötigt. Ein vielleicht hilfreiches Tutorial spuckt Google aus, wenn man es mit den Stichworten Winsock und Tutorial füttert.


----------



## SvKing (13. September 2005)

Nu ja ich hätte ja gerne die Fehlermeldung gesagt, nur kommtkeine fehlermeldung^^
wenn ich die dateien erstellen lasse, steht unten 1Fehler, allerdings nicht welcher.


----------



## C Coder (13. September 2005)

Hast du da dran gedacht die ws2_32.lib einzubinden?
Entweder über die Projekteinstellungen oder durch die Zeile

```
#pragma comment ( lib , "ws2_32.lib" )
```
im Code.


----------

