请教一下idTcpServer与idTcpClient通讯的问题

likeyrain 2011-06-02 09:32:13
大家好:
请教一下,有这样的一个问题,idTcpClient要向idTcpServer发送内容,内容里包含很多的特殊符号、换行符号,用IdTCPClient1.Writeln(msg),idTcpClient收到的内容被截断了,如果把内容放到Tstringlist里,用IdTCPClient1.WriteStrings(tmpstr,true),收到的内容会少了好几个字段,tmpstr本身有14个字段,收到的只有6,7个字段,不知道有什么好的传输方法?
...全文
99 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
likeyrain 2011-06-08
  • 打赏
  • 举报
回复
还是结帖吧,后来改为用Stream传就可以了
likeyrain 2011-06-07
  • 打赏
  • 举报
回复
问题已经解决,过几天结帖
bdmh 2011-06-02
  • 打赏
  • 举报
回复
对发送字符做一下处理啊,比如base64编码,接收后在转换,函数都是现成的
或者直接发送文字流,把文字放到stream里,那样什么字符都无所谓
SQLDebug_Fan 2011-06-02
  • 打赏
  • 举报
回复
可以把字符串转成先发长度,后发内容,这样接收到的内容就不会截断。
likeyrain 2011-06-02
  • 打赏
  • 举报
回复
能不能给个具体点的例子啊?Record是不能用string型的吧,用string的话,那样传送不定长的内容,好象也会出错
dropme 2011-06-02
  • 打赏
  • 举报
回复
直接用Write方法发送,把你要发的内容定义成Packed Record类型,这样最简单~
dropme 2011-06-02
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 likeyrain 的回复:]

能不能给个具体点的例子啊?Record是不能用string型的吧,用string的话,那样传送不定长的内容,好象也会出错
[/Quote]

例子太多啦,谷歌一下好多的~string可以定长,string[255];

5,392

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧