我正在使用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);