Kleines C#-Snippet nach C++ übersetzen



  • Hallo,

    kann mir vielleicht jemand bitte dieses kleine C#-Snippet nach C++ übersetzen?

    Ich denke mal das sind doch nur geringfügige Unterschiede oder?

    IPEndPoint ipe = new IPEndPoint(IPAddress.Parse("127.0.0.1"),80);
    
    Socket s = new Socket( ipe.AddressFamily, SocketType.Stream, ProtocolType.Tcp);
    
    s.Connect(ipe);
    
    if (!s.Connected)
    return;
    
    byte[] data = new byte[1000];
    
    s.Receive(data);
    String txt = System.Text.Encoding.ASCII.GetString(data);
    Console.Write(txt);
    s.Close();
    


  • Freitag schrieb:

    Ich denke mal das sind doch nur geringfügige Unterschiede oder?

    Technisch gesehen vielleicht. Das Hauptproblem dürfte es sein, ein C++ Äquivalent der .NET-Klassen (IPEndPoint, Socket etc) zu finden - ich gehe mal davon aus, daß du gleichnamige Klassen mit einem vergleichbaren Interface zur Verfügung hast.

    //IPEndPoint ipe = new IPEndPoint(IPAddress.Parse("127.0.0.1"),80);
    IPEndPoint ipe(IPAdress::Parse("127.0.0.1"),80);
    
    //Socket s = new Socket( ipe.AddressFamily, SocketType.Stream, ProtocolType.Tcp);
    Socket s(ipe.AdressFamily,SocketType::Stream,ProtocolType::Tcp);
    
    s.Connect(ipe);
    
    if (!s.Connected)
    return;
    
    //byte[] data = new byte[1000];
    char data[1000];
    
    //s.Receive(data);
    int rc_len = s.Recieve(data,1000);//C++ Arrays kannst du nicht nach ihrer Größe fragen - die mußt du selber mitgeben
    
    //String txt = System.Text.Encoding.ASCII.GetString(data);
    string txt(data,rc_len);
    
    //Console.Write(txt);
    cout<<txt;
    
    s.Close();
    

Log in to reply