property LineLimit: integer;
LineLimit defines the maximum length a message may have until the delimiter sequence must occur. If not set the sender might provoke a buffer overflow or something similiar.
If the client always sends data lines which end on CR/LF and the server shall display the lines individually in a memo, the server would set LineMode to true so that he always receives whole lines without needing to look for the end of a line himself.
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;
In OnDataAvailable ReceiveStr is used to fetch the available data packet by packet.