Socket Programmierung



  • Hallo

    mein Problem bezieht sich auf die Socket Programmierung und zwar habe ich für den Client folgenden Code geschrieben:

    [cpp]
    
    SOCKET MySocket; char serverip[20]; 
    sockaddr_in addr; 
    WSADATA wsaData; 
    
    if (WSAStartup(MAKEWORD(2,0),&wsaData) != 0) 
    { 
    MessageBox(0,"WSA konnte nicht initialisiert werden","Fehler",MB_OK); 
    return false; 
    } 
    
    hostent* dns = gethostbyname("FuhrparkServer"); 
    sprintf(serverip, "%u.%u.%u.%u",(unsigned char) dns->h_addr_list[0][0], (unsigned char) dns->h_addr_list[0][1], (unsigned char) dns->h_addr_list[0][2], (unsigned char) dns->h_addr_list[0][3]); addr.sin_family = AF_INET; 
    
    addr.sin_port = htons(110);
     addr.sin_addr.s_addr = inet_addr(serverip); 
    MySocket = socket( AF_INET, SOCK_STREAM,0); 
    
    if(MySocket == 0) 
    { 
    MessageBox(0,"Socket konnte nicht initalisiert werden","Fehler",MB_OK); 
    return false; 
    } 
    
    if(connect(MySocket, (sockaddr *) &addr, sizeof(addr)) == -1) 
    { 
    MessageBox(0,"Es konnte keine Verbindung aufgebaut werden","Fehler",MB_OK); return false;
     } 
    
    return true; }[/cpp]
    

    Den Code habe ich von einem anderen User aus einem anderen Forum. Habe dann von einer Internetseite die mir hier auch empfohlen wurde einen Server Code erstellt:

    [cpp]	SOCKET MySocket;
    	char serverip[20];
    	sockaddr_in addr;
    	sockaddr_in remote_addr;
    	WSADATA wsaData;
    	int size;
    	int remote_sock;
    
    	if (WSAStartup(MAKEWORD(2,0),&wsaData) != 0)
    	{
    		MessageBox(0,"WSA konnte nicht initialisiert werden","Fehler",MB_OK);
    		return false;
    	}
    
    	addr.sin_family = AF_INET;
    	addr.sin_port = htons(110);
    	addr.sin_addr.s_addr = INADDR_ANY;
    
    	MySocket = socket( AF_INET, SOCK_STREAM,0);
    
    	if(bind(MySocket, (sockaddr* ) &addr, sizeof(addr)) == -1)
    	{
    		MessageBox(0,"Socket konnte nicht initalisiert werden","Fehler",MB_OK);
    			return false;
    	}
    
    	if(listen(MySocket,1) == -1)
    	{
    		MessageBox(0,"Es konnte keine Verbindung aufgebaut werden","Fehler",MB_OK);
    		return false;
    	}
    
    	fflush(stdout);
    
    	size = sizeof(remote_addr); 
    	remote_sock = accept(MySocket,(sockaddr* ) &remote_addr, &size);
    	fflush(stdout);
    
    	if(remote_sock < 0)
    	{
    		_close(MySocket);
    		MessageBox(0,"Socket geschlossen","Hinweis",MB_OK);
    		return false;
    	}
    
    	fflush(stdout);
    
    	size = send (remote_sock,"Wilkommen",11,0);
    
    	if(size == -1)
    	{
    		MessageBox(0,"Fehler","Fehler",MB_OK);
    	}
    	else
    	{
    		MessageBox(0,"Gesendet","Hinweis",MB_OK);
    	}
    
    	_close(remote_sock);
    	_close(MySocket);
    	fflush(stdout);
    
    	return true;
    
    }[/cpp]
    

    Wie ich aber erkennen musste funktiniert gar nichts. Der Compiler hift mir nicht mehr der sagt alles ok, ich weiss net was ich falsch mache . Hab ich irgendwelche Bugs im Code oder wieso funktioniert das alles nicht.
    Ich dachte das sich der Client verbindet und der Server ein Wilkommen zurück schickt aber nichts geht

    Ich brauche dringend Hilfe

    Gruß Silver



  • Da fehlt ja auch die Main() 😉



  • die hab ich net mit kopiert



  • Dieser Thread wurde von Moderator/in HumeSikkins aus dem Forum C++ in das Forum WinAPI verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.


Anmelden zum Antworten