Winsock 2 sende-problemer
Jeg er i gang med at lave et winsock 2 objekt i Visual C++ 6.0, som også virker fint langt henaf vejen.Problemerne opstår, når jeg vil sende flere tekststrenge over en socket hurtigt efter hinanden.
Jeg starter med at sende, når jeg efter forbindelsen er etableret, modtager en FD_WRITE event (som man i følge http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winsock/ovrvw3_9xma.asp skal gøre).
"send" metoden på SOCKET/winsock2.h objektet, som jeg bruger til at sende tekststregene med, returnerer success - men serveren modtager ikke *alle* tekststrengene - kun ca. 2 af 6.
Problemet kan også opnåes i delphi med følgende kode:
procedure TForm1.ClientSocket1Write(Sender: TObject;
Socket: TCustomWinSocket);
begin
socket.SendText ('here is a string'+#0);
//sleep (150);
socket.SendText ('here is a string 2'+#0);
//sleep (150);
socket.SendText ('here is a string 3'+#0);
//sleep (150);
socket.SendText ('here is a string 4'+#0);
//sleep (150);
socket.SendText ('here is a string 5'+#0);
//sleep (150);
socket.SendText ('here is a string 6'+#0);
end;
... ergo må det være måden, jeg gør det på, der er problemer med.
Sætter man en 'Sleep (dwMilisec)' ind mellem hver linje, virker koden fint i C++, men ikke i delphi.
Kan nogen se problemet?
Sprøg endelig hvis der er noget, der er uklart.
