如何才能实现多个客户与一个服务之间的同时进行图象文件的传输?就象常见的监视系统一样,服务器上的每个IMAGE中同时显示出各自客户端传来的图象视频,
我用的是IdTCPServer和IdTCPClient,不知道怎么实现,望牛人发点代码或例程什么的资料, 指点一二啊

解决方案 »

  1.   

    内网里面可以用udp组播,想做的更好就用rtp封装。
      

  2.   

    我现在已经用了TCP在改用UDP???
    我其实只要每个客户机产生的线程可以和服务器上的IMAGE对应就可以了,知道了,就可以把图片流传到相应的IMAGE上了
      

  3.   

    那兄弟 有UDP图象网络传输的例程没?没做过这个东西 望介绍点资料什么的
      

  4.   

    现在一对一的图象网络传输已经搞好了,可我想2台机器采集上来的图象都放在另一台机器上的功能还没实现,代码如下,哪个帮我看看为何只能一对一的传输?这个是接受数据部分:现在改用UDP了procedure TServerForm.IdUDPServer1UDPRead(Sender: TObject; AData: TStream;
      ABinding: TIdSocketHandle);
    var
         RsltStream:tmemoryStream;
         j: TJpegImage;
    begin
         RsltStream:=tmemoryStream.Create;
         if ABinding.PeerIP ='192.168.3.53' then
            begin
              if   AData.Size   >   0   then
                        begin
                          RsltStream.CopyFrom(AData,AData.Size);
                          if   AData.Size   < IdUDPServer1.BufferSize   then
                                begin
                                RsltStream.Position:=0;
                                 j:=TJpegImage.Create;
                               j.LoadFromStream(RsltStream);
                            //     Image1.Picture.Bitmap.LoadFromStream(RsltStream);
                                image.Picture.Assign(j);
                                 j.Free;
                                RsltStream.Clear;
                                end;
                            end;
         end
         else
            begin
                        begin
                          RsltStream.CopyFrom(AData,AData.Size);
                          if   AData.Size   < IdUDPServer1.BufferSize   then
                                begin
                                RsltStream.Position:=0;
                                 j:=TJpegImage.Create;
                               j.LoadFromStream(RsltStream);
                            //     Image1.Picture.Bitmap.LoadFromStream(RsltStream);
                                image1.Picture.Assign(j);
                                 j.Free;
                                RsltStream.Clear;
                                end;
                            end;        end;end;无论结果,明天先把这个帖子结了,实在不行就重新开帖子,钱少,分少,问题多