RxRichEdit如何通过UDP接收图片???附源代码,在线等待 ( 积分: 0 )

  • 主题发起人 主题发起人 860
  • 开始时间 开始时间
8

860

Unregistered / Unconfirmed
GUEST, unregistred user!
服务端可以接收到文字,但接收不到图片,在线等待急......请大虾指点,给出答案再给分.

客户端:
procedure TForm1.Button1Click(Sender: TObject);
begin
IdUDPClient1.Send(RxRichEdit1.Text);
end;

服务端:
procedure TForm1.IdUDPServer1UDPRead(Sender: TObject; AData: TStream;
ABinding: TIdSocketHandle);
var
DataStringStream: TStringStream;
begin
DataStringStream := TStringStream.Create('');
try
DataStringStream.CopyFrom(AData, AData.Size);
RxRichEdit1.Lines.Add(DataStringStream.DataString);
finally
DataStringStream.Free;
end;
end;
 
服务端可以接收到文字,但接收不到图片,在线等待急......请大虾指点,给出答案再给分.

客户端:
procedure TForm1.Button1Click(Sender: TObject);
begin
IdUDPClient1.Send(RxRichEdit1.Text);
end;

服务端:
procedure TForm1.IdUDPServer1UDPRead(Sender: TObject; AData: TStream;
ABinding: TIdSocketHandle);
var
DataStringStream: TStringStream;
begin
DataStringStream := TStringStream.Create('');
try
DataStringStream.CopyFrom(AData, AData.Size);
RxRichEdit1.Lines.Add(DataStringStream.DataString);
finally
DataStringStream.Free;
end;
end;
 
我一直顶......
 
用Tmemorystream可以的,好像Tstringstream不行吧?
 
to cilix:
您好!按您的方法做编译不了。您能帮我修改一下服务端的代码吗?给您一百分......

服务端:
procedure TForm1.IdUDPServer1UDPRead(Sender: TObject; AData: TStream;
ABinding: TIdSocketHandle);
var
DataStringStream: TStringStream;
begin
DataStringStream := TStringStream.Create('');
try
DataStringStream.CopyFrom(AData, AData.Size);
RxRichEdit1.Lines.Add(DataStringStream.DataString);
finally
DataStringStream.Free;
end;
end;
 
这个问题对我好重要,我一直顶......
 
你这个也太简单了吧,INDY的UDP最大传送的只有8029个字符,你加一个图片的话肯定的传不过去的。
我自己做了一个东东,不过只能传送指定几个图片,不能传送自定义图,如果要传输自定义图片的话,那就跟得写传输文件的东东了。
 
这个问题对我好重要,我一直顶......
 
to liaoliao:
不是字符大小的问题。
 
RxRichEdit1.Text
这个可以表示图片么
奇怪
 
TO 可爱小猪:
RxRichEdit1.Text可以粘贴图片。
我现在明白,接收发送含图片的信息要用到“流”,但不知道INDY UDP 如何接收发送“流”。
 
这个问题对我好重要,我一直顶......
我现在明白,接收发送含图片的信息要用到“流”,但不知道INDY UDP 如何接收发送“流”。
 
如果是一个比较大的数据流,最好先拆包,然后再传,接收一样,先收,验证,组包,生成文件
 
你不要传 RxRichEdit1.Text
要传 RxRichEdit1.rtfText

IdUDPClient1.Send(RxRichEdit1.rtfText);
 
To caihua:
按您的方法编译不了(IdUDPClient1.Send(RxRichEdit1.rtfText);)。请教。
 
我得说.图片自定义的图片只能靠文件传送.
其它的程序已经自还能识别的图片最好转换成别的字符。
收到后再翻译一遍.

http://www.yhsoft.org
 
你图片都没有组好
系统怎么知道你在做什么
 
我用内存流Tmemorystream已解决了。
 
后退
顶部