Re: [twsocket] OnDataAvailable non-lined mode question

2006-02-13 Thread Wilfried Mestdagh
Hello Dod,

Maybe another apprach is to use always a timeout and reset it every
time data is received. But then you have to send keep alive packets to
not get disconnected in case there is no real traffic needed.

---
Rgds, Wilfried [TeamICS]
http://www.overbyte.be/eng/overbyte/teamics.html
http://www.mestdagh.biz

Monday, February 13, 2006, 11:21, Dod wrote:

> Hello Wilfried,

> OK, that is what I thought but now I am sure :-)

> Usually  I  much prefer Lined mode as it is simpler to manage, and may
> be  used  for binary transport if you take care to "backslash" #13 and
> #10.

> In  non-lined  mode  I know I need to add some Size tag at beginning of
> buffer  sending  to tell receiver how sized will be data.

> Only thing is to add some Timer to detect too long delay before full
> buffer is received with something like :

> FOREACH CONNECTED_SOCKET as ASocket
> {
>   IF (ASocket.ReceivingModeFlag=true)
>AND (time last packet received > xx seconds)
>   THEN send some message to socket thread to expire
> }

> Regards.


WM>> Hello Dod,

>>> Using  line  mode  OFF, if I do for example a .Send of 500 bytes, the
>>> receiver should get just one OnDataAvailable event.

WM>> Mostly, but not for sure. You can also receive more bytes if the sender
WM>> sends a second packet a little later. TCP does not respect packet
WM>> boundary.

>>> If it will produce miltple OnDataAvailable, is there a way to predict
>>> how many time it will be triggered ?

WM>> No it is not predictable. Please read TCP/UDP primer on overbyte
WM>> website.

WM>> If you dont use LineMode then you have to include the length of each
WM>> packet in it, or tell the receiver what he expect to receive by means of
WM>> a protocol.

WM>> ---
WM>> Rgds, Wilfried [TeamICS]
WM>> http://www.overbyte.be/eng/overbyte/teamics.html
WM>> http://www.mestdagh.biz

WM>> Monday, February 13, 2006, 10:29, Dod wrote:

>>> Hello,

>>> Using  line  mode  OFF, if I do for example a .Send of 500 bytes, the
>>> receiver should get just one OnDataAvailable event.

>>> But  if  I  send a 100KB buffer, will I receive get a OnDataAvailable
>>> after  those 100KB are sent or will it be triggered XX times depending
>>> the  network  path  (and  possible  packet  split)  between sender and
>>> receiver.

>>> If it will produce miltple OnDataAvailable, is there a way to predict
>>> how many time it will be triggered ?

>>> Regards.


-- 
To unsubscribe or change your settings for TWSocket mailing list
please goto http://www.elists.org/mailman/listinfo/twsocket
Visit our website at http://www.overbyte.be


Re: [twsocket] OnDataAvailable non-lined mode question

2006-02-13 Thread Wilfried Mestdagh
Hello Dod,

> Using  line  mode  OFF, if I do for example a .Send of 500 bytes, the
> receiver should get just one OnDataAvailable event.

Mostly, but not for sure. You can also receive more bytes if the sender
sends a second packet a little later. TCP does not respect packet
boundary.

> If it will produce miltple OnDataAvailable, is there a way to predict
> how many time it will be triggered ?

No it is not predictable. Please read TCP/UDP primer on overbyte
website.

If you dont use LineMode then you have to include the length of each
packet in it, or tell the receiver what he expect to receive by means of
a protocol.

---
Rgds, Wilfried [TeamICS]
http://www.overbyte.be/eng/overbyte/teamics.html
http://www.mestdagh.biz

Monday, February 13, 2006, 10:29, Dod wrote:

> Hello,

> Using  line  mode  OFF, if I do for example a .Send of 500 bytes, the
> receiver should get just one OnDataAvailable event.

> But  if  I  send a 100KB buffer, will I receive get a OnDataAvailable
> after  those 100KB are sent or will it be triggered XX times depending
> the  network  path  (and  possible  packet  split)  between sender and
> receiver.

> If it will produce miltple OnDataAvailable, is there a way to predict
> how many time it will be triggered ?

> Regards.


-- 
To unsubscribe or change your settings for TWSocket mailing list
please goto http://www.elists.org/mailman/listinfo/twsocket
Visit our website at http://www.overbyte.be