Code: Select all
[MYHEADER]hello< /code> < /p>
...Womer danach sende ich noch weitere 15 Bytes: < /p>
[MYHEADER]world< /code> < /p>
Jetzt höre ich in der Empfängeranwendung denselben Port mit einem UDP -Socket an, der an dieselbe Adresse gebunden ist. Nehmen wir an, beide Nachrichten sind seit dem letzten Mal eingetroffen (und in derselben Reihenfolge). Abfragen des Sockets für eingehende Daten jeden Frame: < /p>
uint32 PendingSize;
while (Socket->HasPendingData(PendingSize))
{
uint32 BytesRead;
uint8 MessageData[kMaxMessageSize];
if (Socket->Recv(MessageData, kMaxMessageSize, BytesRead))
{
// Do stuff here
// Will BytesRead be equal to PendingSize?
}
}
< /code>
HasPendingDataHier ist meine Frage. Welche dieser Szenarien reflektiert genau, was in dieser Situation passieren würde? < /P>
Option a.
- gibt true zurück und zeigt eine ausstehende Größe von 15 Bytes an. Recv gibt mir die meldung [myheader] Hallo .Code: Select all HasPendingData
- gibt true zurück und zeigt eine ausstehende Größe von 15 Bytes an. Recv gibt mir die meldung [myheader] world .Code: Select all HasPendingData
- Gibt false zurück.Code: Select all HasPendingData
[*]
Code: Select all
HasPendingDataHasPendingData< /code> Gibt false zurück. Danke!
 Mobile version
 Mobile version