Probleme mit Netzwerkklasse



  • Ich habe mir eine Netzwerkklasse erstellt und die möchte ich jetzt benutzen.
    Habe folgenden Member in der Klasse definiert:

    int network::MakeSocket(int iPort)
    {	
    	long rc;
    	SOCKET acceptSocket;
    	SOCKADDR_IN addr;
    	SOCKET connectedSocket;
    	SOCKET s;
    
    	acceptSocket=socket(AF_INET,SOCK_STREAM,0);
    
    	//Socket erstellen
    	memset(&addr,0,sizeof(SOCKADDR_IN));
    	addr.sin_family=AF_INET;
    	addr.sin_port=htons(iPort); //Port festlegen
    	addr.sin_addr.s_addr=ADDR_ANY;
    	rc=bind(acceptSocket,(SOCKADDR*)&addr,sizeof(SOCKADDR_IN));
    	return rc;
    }
    

    Wie der Titel schon sagt erstellt dieser Member einen Socket.

    Allerdings klappt da etwas mit dem Aufrufen noch nicht so ganz.

    ReturnCode = this->network::MakeSocket(12345);
    

    Wenn ich die Funktion so aufrufe bekomme ich folgende Fehlermeldung:
    "network': Ist kein Element von 'NetworkTest::Form1" und
    "network::MakeSocket': this-Zeiger kann nicht von 'NetworkTest::Form1' in 'network %' konvertiert werden"

    Hab dann ein bisschen gelesen und habs dann nochmal so ausprobiert:

    networkVar = gcnew network;
    networkVar = network::MakeSocket(12345);
    

    Dann bekomme ich:
    "Unzulässiger Aufruf einer nicht statischen Memberfunktion"

    Was mache ich falsch?



  • Brauchst du das network:: bei folgendem Code? Um was für eine Klasse handelt es sich im Kontext? Die Memberfunktion MakeSocket() kann natürlich nur von network -Instanzen aus aufgerufen werden.

    ReturnCode = this->network::MakeSocket(12345);
    

Log in to reply