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 ?