UDP socket

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von Mr.Smoke, 21. November 2005 .

Schlagworte:
  1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen
  1. #1 21. November 2005
    Hi...
    Ich suche ne Funktion für nen UDP socket der den host zu ip auflöst hatt das jemand???
    10ner ist drin!!!
     

  2. Anzeige
  3. #2 21. November 2005
    Code:
    IPHostEntry hostEntry = Dns.Resolve(Dns.GetHostName());
     
  4. #3 22. November 2005
    wo soll ich da das char mit dem host oder ip angeben???
     
  5. #4 22. November 2005
    Nachdenken ist nicht deine Stärke, was :rolleyes: ? Die Eingabe der von mir geposteten Funktion in Google hätte dir einige Tausend Beispiele geliefert! Ich poste dir hier mal ein komplettes Programm. Daran kannst du im Detail erkennen wie der Host aufgelöst wird und das Programm anschließend einen HTTP Request durchführt!

    Code:
    #using <mscorlib.dll>
    #using <System.dll>
    using namespace System;
    using namespace System::Text;
    using namespace System::IO;
    using namespace System::Net;
    using namespace System::Net::Sockets;
    using namespace System::Collections;
    
    Socket * ConnectSocket(String* server, int port) {
     Socket* s = 0;
     IPHostEntry* hostEntry = 0;
    
     hostEntry = Dns::Resolve(server);
    
     IEnumerator* myEnum = hostEntry->AddressList->GetEnumerator();
     while (myEnum->MoveNext()) 
     {
     IPAddress* address = __try_cast<IPAddress*>(myEnum->Current);
     IPEndPoint* endPoint = new IPEndPoint(address, port);
     Socket* tmpS = new Socket(endPoint->AddressFamily, SocketType::Stream, ProtocolType::Tcp);
     tmpS->Connect(endPoint);
     if (tmpS->Connected) 
     {
     s = tmpS;
     break;
     } else
     {
     continue;
     }
     }
    
     return s;
    }
    
    String* SocketSendReceive(String* server, int port) 
    {
     String* request = String::Concat(S"GET / HTTP/1.1\r\nHost: ", server,
     S"\r\nConnection: Close\r\n\r\n");
     Byte bytesSent[] = Encoding::ASCII->GetBytes(request);
     Byte bytesReceived[] = new Byte[256];
    
     Socket* s = ConnectSocket(server, port);
     if (s == 0)
     return (S"Connection failed");
    
     s->Send(bytesSent, bytesSent->Length, static_cast<SocketFlags>(0));
    
     int bytes = 0;
     String* strRetPage = String::Concat(S"Default HTML page on ", server, S":\r\n");
     
     do {
     bytes = s->Receive(bytesReceived, bytesReceived->Length, static_cast<SocketFlags>(0));
     strRetPage = String::Concat(strRetPage, Encoding::ASCII->GetString(bytesReceived, 0, bytes));
     }
     while (bytes > 0);
     
     return strRetPage;
    }
    
    int main() {
     String* args[] = Environment::GetCommandLineArgs();
     String* host;
     int port = 80;
    
     if (args->Length == 1)
     // Hier gibst du deinen Host ein, sofern dieser nicht über
     // Konsole übergeben wurde!
     host = "www.google.de"
     else
     host = args[1];
    
     String* result = SocketSendReceive(host, port);
     Console::WriteLine(result);
    }
     
  6. #5 23. November 2005
    aso thx.... 8)
     

  7. Videos zum Thema
Die Seite wird geladen...