Server Programmierung
-
Ich habe aus dem Internet ein Tut,zur Server Programmierung gefunden!!!
Ich habe in VB einen Client geschrieben der sich mit diesem Server verbindet,leida gibt es beim komplieren des Server leida ein Paar fehler:#include <stdio.h> #include <stdlib.h> #include <windows.h> #include <string.h> #include <winsock.h> #include <winsock2.h> int main() { struct sockaddr_in host_addr; struct hostent *hostinfo; sockaddr_in my_addr; my_addr.sin_family = AF_INET; my_addr.sin_port = htons(5110); my_addr.sin_addr.s_addr = htonl(INADDR_ANY); if (bind(sock, (sockaddr *)&my_addr, sizeof(sockaddr)) == -1) { perror ("bind()"); } if (listen (sock, 5) == -1) { perror ("listen()"); } socklen_t sin_size = sizeof (sockaddr_in); sockaddr_in remote_host; int sock2 = accept (sock, (sockaddr *) &remote_host, &sin_size); if (sock2 == -1) { perror ("accept()"); } return 0; }
Diesen Code hatte ich im Internet gefunden leider kommt immer folgende Fehlermeldung:
main.c: In function
main': main.c:11: error:
sockaddr_in' undeclared (first use in this function)
main.c:11: error: (Each undeclared identifier is reported only once
main.c:11: error: for each function it appears in.)
main.c:11: error: syntax error before "my_addr"
main.c:12: error:my_addr' undeclared (first use in this function) main.c:15: error:
sock' undeclared (first use in this function)
main.c:15: error:sockaddr' undeclared (first use in this function) main.c:15: error: syntax error before ')' token main.c:21: error:
socklen_t' undeclared (first use in this function)
main.c:21: error: syntax error before "sin_size"
main.c:23: error: syntax error before ')' token
main.c:23: error:remote_host' undeclared (first use in this function) main.c:23: error:
sin_size' undeclared (first use in this function)
make.exe: *** [main.o] Error 1Wieso ist das so?
Bin noch ein Totaler Anfänger was die WinApi angeht!!!
-
was hast du da alles für Header drin? davon brauchst du noch nicht einmal die Hälfte...
-
Die sind noch für andere Funktionen.......
Ok habe es zum laufen gebracht wie kann ich es aber jetzt so machen das wenn das Wort Test gesendet wird das dann eine Ausgabe auf dem Bildschirm erfolgt?
-
Einen Client brauchst jetzt noch
-
Tve schrieb:
Ok habe es zum laufen gebracht wie kann ich es aber jetzt so machen das wenn das Wort Test gesendet wird das dann eine Ausgabe auf dem Bildschirm erfolgt?
Du musst Dir dann auch im Klaren sein wohin Dein Wörtchen landen soll *grinz* .
Also, wenn Du mit der Aussage meinst, dass Du parallel zum Senden noch andere Aktivitäten durchführen lassen willst (aber im gleichen Programm, also im 'Server-Programm', da send ja blockiert, falls Du keine asychronen Sockets verwendest), brauchst Du Threads. Andernfalls, wie eingangs und auch von Pacino90 erwähnt, einen Client-Programm, der die Daten empfängt.