Server verbindung aufbauen
-
Hi
Warum kann ich mit dem Programm keine Server Verbindung aufbauen.
Ich bekomme eine Fehler Meldung ausgegeben.
Compiliere es und Starte es in einer Konsole.
Dann starte es in einer anderen Konsole nocheinmal.Jetzt müsste die Verbindung aufgebaut werden.
Aber ich bekomme eine Fehlermeldung.
Ich habe auf dem Firmen Rechner im Netzwerk Probiert!
Kann mir jemand bitte weiterhelfen ?
Gruß
Mo
#include <iostream> #include <stdio.h> #include <conio.h> #include <winsock2.h> using namespace std; //Prototypen int startWinsock(void); int main() { long rc; SOCKADDR_IN addr; SOCKET acceptSocket; SOCKET connectedSocket; //WINSOCK STARTEN rc=startWinsock(); if(rc!=0) { printf("Fehler: StartWinsock, fehlerhaft rc=%d\n",rc); return 1; } else { printf("\nWinsock gestartet!\n"); } //SOCKET ERSTELLEN acceptSocket=socket(AF_INET,SOCK_STREAM,0); if(acceptSocket==INVALID_SOCKET) { printf("Fehler: Der Socket konnte nicht erstellt werden. FCODE:%d\n",WSAGetLastError()); return 1; } else { printf("\nSocket erfolgreich erstellt!!!\n"); } memset(&addr,0,sizeof(SOCKADDR_IN)); addr.sin_family=AF_INET; addr.sin_port=htons(12345); addr.sin_addr.s_addr=ADDR_ANY; rc=bind(acceptSocket,(SOCKADDR*)&addr,sizeof(SOCKADDR_IN)); if(rc==SOCKET_ERROR) { printf("Fehler: bind, FCODE:%d\n",WSAGetLastError()); return 1; } else { printf("\nSocket an port 12345 erfolgreich gebunden\n"); } rc=listen(acceptSocket,10); if(rc==SOCKET_ERROR) { printf("Fehler: listen, FCODE:%d",WSAGetLastError()); return 1; } else { printf("\nacceptSocket ist im listen Modus...\n"); } connectedSocket=accept(acceptSocket,NULL,NULL); if(connectedSocket==INVALID_SOCKET) { printf("Fehler: accept, FCODE:%d",WSAGetLastError()); return 1; } else { printf("\nNeue Verbindung wurde akzeptiert!\n"); } return 0; } int startWinsock() { WSADATA :sunglasses: wsa; return WSAStartup(MAKEWORD(2,0),&wsa); }
-
das ist kein ISO C++ ... sollte man vielleicht nach winapi verschieben ..
WSADATA :sunglasses: wsa;
Außerdem .. kopieren ist das eine aber wenn man kopiert und das dann nicht versteht ist man selber ...
-
Wenn du es Ordendlich verschieben kannst ohne den Beitrag zu verlieren dann mach das mal..
Danke
-
bin kein mod aber deine ... Lösung kannst du doch schon bei mir lesen wenn du das
:sunglasses:
rausmachst funkt das auch
-
Wenn du genauer überlegst kommt du vielleicht darauf.
es liegt nicht am cool.
Ich weiss auch nicht wie das da hin kommt.
Ich habe geschrieben das ich keine Server verbindung aufbauen konnte.
Das Programm kann ich aber Compilieren.
Und man kann eigentlich keicht verstehen das ich das Programm schon getestet habe.
Gruß
Mo
-
Dein Quelltext ist ein Server.
Ihn nochmal in einer anderen Konsole zu starten MUSS fehlschlagen, weil der Port 12345 bereits vom 1. Server belegt ist.
Du müßtest einen Client in einer anderen Konsole starten, der kann dann auch connecten...
-
Hallo
Danke erst einmal für deine kostbaren Mühe.
Kannst du mir vielleicht im Detail erklären wie es mit den Schichten usw aufsich hat.
Also wie das mit Client und Server funzt nur das wichtigste im Detail bitte.
Ich habe die Funktion im WINSOCK nicht ganze geraft.
Danke
Gruß
Mo
-
Qmetinonal
irgendwie ist dein ton seltsam.. aber vielleicht ist das dein typ von mensch.hier ein tutorial
http://www.c-worker.ch/tuts/udp.html
bye
-
Habt ihr auch zwischen durch mal etwas anderes gefunden ?
Immer das eine Tutorial ist doof.
Langsam kan ich das auswendig.
Gruß
Mo
-
Offenbar nicht, denn dann würdest Du dort auch den dazugehörigen Client finden und alles würde problemlos funktionieren...
-
Von was redest du gerade, ich verstehe deinen Satz überhauptgarnicht ?
Gruß
Mo
-
vielleicht sagst du einfach mal, WAS du nicht kappierst ...
-
Sag ich doch gerade "Nada, zero, hic birsey" Ich kanns auch Türkisch sagen.
Sen manyak sin arkadas, HAHAHAH
Gruß
Mo
-
na dann kauf dir mal ein gutes buch und
lerne, lese.. leiste was
-
Ein sehr gutes Buch über Netzwerk-Programmierung
Laß Dich vom Titel (UNIX-Netzwerke) nicht täuschen, da Du das Tutorial auswendig kannst weißt Du ja sicherlich auch, das die Winsock exakt von der UNIX-Socket abgeleitet ist...