TidTCPServer,如何在不丢失字符的情况下编写数据

时间:2018-04-17 17:22:19

标签: delphi indy tcpserver

我正在使用Delphi XE2和SVN的最新Indy。

我正在尝试使用AContext.Connection.Socket.Write(string)将数据发送到套接字。数据包含äöüßÄÜ等德语字符。

当我发送的字符串超过530字节时,某些特殊字符将替换为空格。有些不是。当我将字符串长度缩短为530时,所有字符都正常工作。

我尝试以长度为500的块来编写输出,只有在每次写入之间执行Sleep(1)时才会起作用。

我真的想用一个Write()命令发送数据。我怎么能这样做?

这是非工作代码(IndyTextEncoding(437)事件中的编码设置为OnConnect

sOut := 'jölhniönjhiouöinjhioö-jhnioönhoinhiuhbgnujnhb-öihn-öouhn'+
        'jölhniönjhiouöinjhioö-jhnioönhoinhiuhbgnujnhb-öihn-öouhn'+
        'jölhniönjhiouöinjhioö-jhnioönhoinhiuhbgnujnhb-öihn-öouhn'+
        'jölhniönjhiouöinjhioö-jhnioönhoinhiuhbgnujnhb-öihn-öouhn'+
        'jölhniönjhiouöinjhioö-jhnioönhoinhiuhbgnujnhb-öihn-öouhn'+
        'jölhniönjhiouöinjhioö-jhnioönhoinhiuhbgnujnhb-öihn-öouhn'+
        'jölhniönjhiouöinjhioö-jhnioönhoinhiuhbgnujnhb-öihn-öouhn'+
        'jölhniönjhiouöinjhioö-jhnioönhoinhiuhbgnujnhb-öihn-öouhn'+
        'jölhniönjhiouöinjhioö-jhnioönhoinhiuhbgnujnhb-öihn-öouhn'+
        'jölhniönjhiouöinjhioö-jhnioönhoinhiuhbgnujnhb-öihn-öouhn'+
        'jölhniönjhiouöinjhioö-jhnioönhoinhiuhbgnujnhb-öihn-öouhn';
//sout := leftstr(sout, 500);

AContext.Connection.Socket.Write(sOut);

0 个答案:

没有答案
相关问题