Toon posts:

[Delphi] Raar probleem met Sockets

Pagina: 1
Acties:
  • 119 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
Hi all,

ik heb een raar probleem met Sockets. In het ene programma staat:
code:
1
2
ClientSocket.Socket.SendText("bla");
ClientSocket.Socket.SendText("bla2");

in het andere programma staat:
code:
1
2
OnRead-event van je server socket:
ShowMessage(Socket.ReceiveText);

Wat je zou verwachten is dat je twee keer een messagebox krijgt met de ene keer "bla" en de tweede keer "bla2" ... maar je krijgt dus altijd slechts een keer een messagebox met "blabla2" erin ...

Weet iemand hoe je Delphi zo ver krijgt dat dit dus wel twee keer een messagebox wordt?

Marc

  • jvdmeer
  • Registratie: April 2000
  • Laatst online: 21:21
Doe op de ontvangende pc een check op de hoeveelheid buffer. De eerste keer wordt de Onread getriggered, maar nog voordat hij is afgehandeld, wordt de tweede string ontvangen. Deze komt dus gewoon in het buffer erbij. Dus:

Even kijken naar Sockets.ReceiveBuffer dus.

Verwijderd

Topicstarter
kan je effe een pseudo-code voorbeeld geven van wat je bedoeld?

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 17-09 22:25

Janoz

Moderator Devschuur®

!litemod

En als je tussen de beide sends eens flushed of een newline stuurd, doet ie het dan wel zoals je wilt?

Bij sockets is niet echt een 'afscheiding' tussen de berichten.. Dus of je nu
send(b) send(l) send(a) doet of send(bla).. Aan de overkant komt er een b gevolgd door een l gevolgd door een a uit.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'