[Gelöst] Remote IP bei UDP Verbindung auslesen



  • Hallo zusammen,

    ich habe einn kleinen Syslog-Server geschrieben um Messages übers lokale Netz zu empfangen.
    Folgenden code benutze ich um die Messages zu auszuwerten:

    ...
    array<unsigned char,1>^ bytes = gcnew array<unsigned char>(2048);
    if( !MyRxSocket )
       return -1;
    System::Text::ASCIIEncoding ^encoding = gcnew System::Text::ASCIIEncoding(); 		
    
    if (MyRxSocket->Available) {
       rc = MyRxSocket->Receive(bytes, 0,  MyRxSocket->Available, net::Sockets::SocketFlags::None);
       //pEndPoint = MyRxSocket->RemoteEndPoint;
       //message = pEndPoint->ToString();
       message = encoding->GetString(bytes);
    ...
    

    Es ist leider so, das (laut MSDN) man die remote ip Adresse nicht über die RemoteEndPoint methode herausbekommt.

    Wie bekomme ich die Absender-IP-Adresse der grade empfangenen Message?

    Weiss das jemand?

    Gruss,
    Nils



  • Hallo,
    Falls (und das nehme ich an) MyRxSocket vom Typ System.Net.Sockets.Socket ist dann kannst Du anstelle der Receive die ReceiveFrom Methode benützen.

    Alternativ könntest Du auch die Klasse UdpClient benützen.

    Simon



  • Ah danke,

    Hab die UdpClient benutzt. Klappt wunderbar:)


Anmelden zum Antworten