Winsocket Server Problem
-
Hi ich bin gerade Dabei einen Server zu erstellen. Das Program wird auch fehlerfrei kompeliert aber beim binden des Sockets an einen Port trit der Fehlercode 10038 auf. Hier der Quelltext:
#include <stdio.h> #include <stdlib.h> #include <windows.h> #include <stdio.h> #include <conio.h> int start_winsock(); int main() { long rc; long p; SOCKET a;//accept Socket SOCKET c;//conncet Socket SOCKADDR_IN addr; rc=start_winsock(); if (rc==0) printf("Winsocket gestratet\n"); a=(AF_INET,SOCK_STREAM,0); if(a!=INVALID_SOCKET) printf("Socket a erstellt\n"); memset(&addr,0,sizeof(SOCKADDR_IN)); // zuerst alles auf 0 setzten addr.sin_family=AF_INET; addr.sin_port=htons(2222); addr.sin_addr.s_addr=ADDR_ANY; p=bind(a,(SOCKADDR*)&addr,sizeof(SOCKADDR_IN)); if(p==SOCKET_ERROR) printf("ERROR"); else printf("ERROR"); rc=listen(a,10); if(rc==SOCKET_ERROR) printf("Fehler: listen, fehler code: %d\n",WSAGetLastError()); system("PAUSE"); return 0; } int start_winsock() { WSADATA wsa; return(WSAStartup(MAKEWORD(2,0), &wsa)); }Was muss ich verändern, damit das Socket a an den Port gebunden wird.
-
if(p==SOCKET_ERROR) printf("ERROR"); else printf("ERROR");sicher das das so sein soll?
-
http://support.ipswitch.com/kb/WSK-19980714-EM22.htm
zeile 20: a=(AF_INET,SOCK_STREAM,0); --> a = socket(AF_INET,SOCK_STREAM,0);
würd gerne wissen wieso das fehlerfrei kompilliert
-
Hab das Problem gelöst.
Trotzdem danke