Difference between revisions of "TWSocket.LineMode"
Jump to navigation
Jump to search
Markus.humm (talk | contribs) |
|||
Line 11: | Line 11: | ||
== Example == | == Example == | ||
− | If the client always sends data lines | + | If the client always sends data lines terminated with CR/LF and the server shall display the lines individually in a memo, the server would set LineMode to true so the caller always receives whole lines without needing to look for the end of a line. |
<syntaxhighlight lang="delphi"> | <syntaxhighlight lang="delphi"> | ||
Socket.LineLimit:=100; // prevent denial of service or buffer | Socket.LineLimit:=100; // prevent denial of service or buffer | ||
// overflows | // overflows | ||
− | Socket.LineEnd | + | Socket.LineEnd:=chr(10) + chr(13); // the sender has to terminate all |
// messages sent with this character | // messages sent with this character | ||
// combination | // combination |
Revision as of 00:48, 10 March 2016
Main page -> ICS component reference -> TWSocket -> LineMode
Definition
property LineMode: boolean;
Description
If set to true, LineMode enables automatic splitting of received data into packets based on a user definable char sequence.
Example
If the client always sends data lines terminated with CR/LF and the server shall display the lines individually in a memo, the server would set LineMode to true so the caller always receives whole lines without needing to look for the end of a line.
<syntaxhighlight lang="delphi">
Socket.LineLimit:=100; // prevent denial of service or buffer // overflows Socket.LineEnd:=chr(10) + chr(13); // the sender has to terminate all // messages sent with this character // combination Socket.LineMode:=true;
</syntaxhighlight>
In OnDataAvailable ReceiveStr is used to fetch the available data packet by packet.
Best practices
Always set LineLimit to prevent buffer overflows.