spoonator
Goto Top

Winsock Verbindung über DYNDNS

Hey,
ich arbeite gerade an einem kleine Chat in C++

Das ganze soll so ablaufen, dass eine Verbindung mittels Winsock zu einem Rechner (als Server) aufgeabut wird.

Ich habe das ganze immerhin inzwischen soweit, dass der Client die IP eingeben kann und der Chat aufgebaut wird.

Nun wollte ich, da sich die IP des Routers, hinter dem der Server hängt, ständig ändert auf DYNDNS zurückgreifen.

Hab mit einen accound zusammengebastelt, angeping=) funzt alles.

Jetzt habe ich einfach versucht die IP durch den Domain von DYNDNS zu ersetzen, leider ohne Erfolg.

Hat jemand hilfe parat.

//Main.cpp
#include <iostream>
#include "Socket.h" 

using namespace std;

int main()
{
    int choice;
    int port = 666;
    
    string ipAddress = "hostname.ath.cx" //Name des Domains von DYNDNS.org  
    bool done = false;
    char recMessage[STRLEN];
    char sendMessage[STRLEN];
    cout<<"1) Host server"<<endl;  
    cout<<"2) Join server"<<endl;  
    cout<<"3) Quit"<<endl;  
    cin>>choice;
    if ( choice == 3 )
        exit(0);
    else if ( choice == 2 )
    {
        //Client
        
       ClientSocket sockClient;
        cout<<"ATTEMPTING TO CONNECT..."<<endl;  
        sockClient.ConnectToServer( ipAddress.c_str(), port );
        //Connected
        while ( !done )
        {     
            sockClient.GetAndSendMessage();
            cout<<"\t--WAIT--"<<endl;  
            sockClient.RecvData( recMessage, STRLEN );
            cout<<"Recv > "<<recMessage<<endl;  
            if ( strcmp( recMessage, "end" ) == 0 ||  
                        strcmp( sendMessage, "end" ) == 0 )  
            {
                done = true;
            }
        }
        sockClient.CloseConnection();
    }
    else if ( choice == 1 )
    {
        //SERVER
        ServerSocket sockServer;
        cout<<"HOSTING..."<<endl;  
        sockServer.StartHosting( port );
        //Connected
        while ( !done )
        {
            cout<<"\t--WAIT--"<<endl;  
            sockServer.RecvData( recMessage, STRLEN );
            cout<<"Recv > "<<recMessage<<endl;  
            sockServer.GetAndSendMessage();
            if ( strcmp( recMessage, "end" ) == 0 ||  
                    strcmp( sendMessage, "end" ) == 0 )  
            {
                done = true;
            }
        }
    }
}

Content-ID: 111889

Url: https://administrator.de/contentid/111889

Ausgedruckt am: 23.11.2024 um 05:11 Uhr