idtcpserver如何接收并转发 tmemorystream数据?

flydranon 2006-05-04 09:22:06
我将rxrichedit的内容(图片和文字)转成tmemorystream;现在我想把这个数据发送到服务器端,并转发给指定客户端,然后再由客户端读出,应怎样编写代码? rxrichedit2.Lines.LoadFromStream(ms2);是将rxrichedit2清空后再写入消息,有没有办法保留原来的信息再添加tmemorystream信息呢?
转换的代码如下:
 ms2:=tmemorystream.Create;
 try
rxrichedit3.Lines.SaveToStream(ms2);
  ms2.Position:=0;
rxrichedit2.Lines.LoadFromStream(ms2);
 finally
ms2.free;
end;
我想知道将这个ms2保存成什么类型的数据并发送到服务器呢?
...全文
295 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
flydranon 2006-05-17
  • 打赏
  • 举报
回复
晕,我都要放弃这个贴了,没想到还有人答.........
谢谢Devillyd(ξ赤 影ξ) ,虽然还没解决,不过已经知道方向了
Devillyd 2006-05-14
  • 打赏
  • 举报
回复
好像不能吧~
不知道,帮你顶一下
Devillyd 2006-05-14
  • 打赏
  • 举报
回复
找到点代码:
测试通过
合并:
procedure CombineStream(SrcName: string; Src, Dst: TStream);
var
l: Integer;
begin
l := length(srcname);
with dst do
begin
writebuffer(l, sizeof(integer));
writebuffer(srcname[1], l);
l := src.size;
writebuffer(l, sizeof(integer));
copyfrom(src);
end;
end;

读取:
procedure ReadAnyStream(Dst, Src: TStream; Name: string);
var
l: Integer;
buffer: string;
begin
with src do
begin
seek(0,0);
repeat
readbuffer(l, sizeof(integer));
setlength(buffer, l);
readbuffer(buffer[1], l);
readbuffer(l, sizeof(integer));
if buffer=name then
begin
dst.copyfrom(src, l);
break;
end
else seek(1, l);
until position >= size;
end;
end;
分给我,不给没完
flydranon 2006-05-08
  • 打赏
  • 举报
回复
怎么这么冷清啊?
flydranon 2006-05-06
  • 打赏
  • 举报
回复
有人知道吗?帮忙解答一下吧

1,593

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 网络通信/分布式开发
社区管理员
  • 网络通信/分布式开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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