Indy控件 TIdTCPServer 和 TIdTCPClient的发送接收字符串 缺省都会加上0D 0A当做分隔符,如果客户端发送的字符串没有0D0A,我的服务器就不响应 OnExecute 事件,我也读不到任何字符串,
问题就是是否有设么属性设置不需要分隔符,或者有什么函数方法可以解决没有分隔符的读取字符串的问题?
问题就是是否有设么属性设置不需要分隔符,或者有什么函数方法可以解决没有分隔符的读取字符串的问题?
最好不要用ReadLn 等收发数据信息
用 二进制
var len:integer;
s:string;
buffer:TBytes;
begin
len :=AContext.Connection.IOHandler.InputBuffer.Size; if len > 0 then
begin
AContext.Connection.IOHandler.ReadBytes(buffer, len, false); //转化成字符串
s := stringof(buffer); Self.Console.Lines.Add(s);
end;end;发送用
buffer := bytesof(Edit3.Text);
BzAContext.Connection.IOHandler.Write(buffer);希望可以给后面的人一点帮助,不至于找百度反资料用了这么多时间