Status/Anz. der Zeichen des Empfangspuffers eines SocketServers auslesen
-
Hallo,
habe ein kleines Problemchen
Habe eine Maschine, die schickt mir Daten über das Ethernet an meinen PC.
Ich bin über einen SocketServer mit der Maschine verbunden.
Wie kann ich den Zustand des Empfangspuffers auslesen (= wieviele Zeichen sind momentan im Empfangspuffer?)Hoffe mir kann jmd weiterhelfen - Danke
-
ioctlsocket mit FIONREAD. guckst du: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winsock/winsock/ioctlsocket_2.asp
-
net schrieb:
ioctlsocket mit FIONREAD. guckst du: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winsock/winsock/ioctlsocket_2.asp
Lieber nicht. guckst du: http://support.microsoft.com/default.aspx?scid=kb;en-us;192599
-
.- schrieb:
Lieber nicht. guckst du: http://support.microsoft.com/default.aspx?scid=kb;en-us;192599
jaja, windows ist echt kaputt
...to obtain the amount of data in the receive buffer is highly inefficient because the system must lock the data and count it
eigentlich weiss jeder buffermechanismus wieviele daten gepuffert sind bzw. wieviel er noch reinschreiben darf. da muss man doch nix im nachhinein zählen
ich halte das für schwindel oder windows wurde wirklich von echten dilletanten gecodet.aber ich denke wenn man ioctlsocket/FIONREAD nicht 1000mal pro sekunde aufruft sollte das kein problem sein...
-
Hi ihr 2,
vielen Dank, es funktioniert prima (nach net).

-
wofür braucht man so eine abfrage überhaupt?
-
sinn? schrieb:
wofür braucht man so eine abfrage überhaupt?
es macht einiges einfacher, z.b. wenn man datenblöcke fester länge brauchst. ist mindesten einer im socket-buffer, denn kann man den rausholen usw. ansonsten müsste man sich einen eigenen zwischenspeicher machen um die daten zu sammeln...