Daten empfangen



  • hallo,

    habe mal folgende kleine frage.
    gibt es für das empfangen von daten über sockets auch eine möglichkeit es über windowmessage abzufangen ?
    zb. WM_RECV ? 🙂 oder so ?

    derzeit habe ich es umständlich in meinem WM_PAINT , dort befindet sich eine endlosschleife die permantent auf nachrichten wartet, macht jedoch das programm sehr sehr langsam und führt zu abstürzen.

    wenn jemand einen tipp hat dann nur her damit 🙂

    danke , ralf



  • Hi!

    Ich denke am besten ist es, wenn du recv in einem eigenen Thread aufrufst, dadurch werden die Resourcen gespart, die du in deiner Endlosschleife verbrauchst!
    Schau dir dazu die Funktion beginthread an.



  • ok , danke.

    also gibts sowas nicht das windows automaisch merkt wenn daten an das programm geschickt werden ?



  • @<ralf>
    Ja, es gibt sowas, was du suchst 😃 :

    #define WM_SOCKET_NOTIFY (WM_USER+1)
    //....
    case WM_SOCKET_NOTIFY:
            wEvent=WSAGETSELECTEVENT(lParam); //LOWORD
            wError=WSAGETSELECTERROR (lParam); //HIWORD
            switch(wEvent)
            {
            case FD_CONNECT:
                return 0;
            case FD_CLOSE:
                 return 0;
    
            case FD_READ:
                return 0;
    
            case FD_ACCEPT: 
                             return 0;
    
            }
            return 0;
    

    Die Erläuterungen müssten in der MSDN stehen 😉

    MfG Unwissender 🙂


Anmelden zum Antworten