Socket: BNA errors ab und zu



  • Hallo,

    hab mir grad einen UDP Client Socket erstellt, welcher auch erstmal funktioniert.

    Ganz grob mal mein Prog:

    s=socket(AF_INET,SOCK_DGRAM,0);
    i = setsockopt (s, SOL_SOCKET, SO_BROADCAST, (char*)&nVal, sizeof(nVal)); 
    rc=bind(s,(SOCKADDR*)&addr,sizeof(SOCKADDR_IN));
    
    while(kein fehler)
    {
        rc=recv(s,buf,sizeof(buf)-1,0);
    }
    

    Ab und zu bekomm ich ein paar Fehlermeldungen und zwar BNA Errors. Was bedeutet, dass die DMA keinen leeren Buffer für ein neues Eth-Pkt gefunden hat. DAs ganze Programm läuft auf einem ARM unter Windows CE 6.0

    Meine Frage: bin ich selber dafür verantwortlich, dass die DMA-Buffer wieder freigegeben werden oder müsste das eigentlich das Windows CE bzw. die Device-Treiber für mich erledigen?

    Gruß
    Hannes



  • Verwende bitte die C++ - Codetags...

    Ich gehe davon aus, dass das bei "recv()" auftritt ?

    Wie wird denn "buffer" erstellt ?


Anmelden zum Antworten