Wir haben eine Anwendung, die ReadFile verwendet, um einen Socket zu lesen. In einem der Szenarien erhält das ReadFile einen Aufruf, der besagt, dass 2 Bytes zu lesen sind, aber wenn das ReadFile versucht, dies zu lesen, kehrt es mit bytesread als 0 zurück. Bedeutet dies, dass die Steckdose am anderen Ende geschlossen hat? . Bedeutet es, dass der Socket am anderen Ende geschlossen ist, wenn ReadFile 0 Bytes liest? . oder könnte es ein Fehler sein?Socket ReadFile Problem
1
A
Antwort
0
Wenn ReadFile() feststellt, dass zwei Bytes zu lesen sind, liest es gleichzeitig diese zwei Bytes und sie werden aus dem Socket entfernt. Wenn der Absender keine weiteren Daten sendet, zeigt der nächste Anruf an, dass nichts zu lesen ist. Um festzustellen, ob ein Fehler aufgetreten ist, müssen Sie den Rückgabewert von ReadFile() überprüfen.