好像在对Stream操作之前应该又Stream.position:=o;你这样试试

解决方案 »

  1.   

    好象不用那么麻烦吧,光用TMemoryStream就可以了
    procedure TForm1.S1Click(Sender: TObject);
    var
      MyStream:TMemoryStream;
    begin
      if OpenDialog1.Execute then
      begin
        try
          MyStream:=TMemoryStream.Create;
          MyStream.LoadFromFile(OpenDialog1.FileName);
          MyStream.Position:=0;
          NMUDP1.SendStream(MyStream);
        finally
          MyStream.Free;
        end;
      end;
    end;
      

  2.   

    不行啊,提示access和write错误,我读取一段avi,不知道大小有没有关系的呢?
      

  3.   

    是执行到哪儿出的错?
    MyStream.LoadFromFile(OpenDialog1.FileName);
    还是
    NMUDP1.SendStream(MyStream)

      

  4.   

    为什么NMUDP发送流的时候会出错呢?
      

  5.   

    你的NMUDP1的RemoteHost和RemotePort都设置了吗?
      

  6.   

    NMUDP1发送数据量大的时候好像有问题
      

  7.   

    如果用udpsocket发送的时候我不知道该怎样接收发送过来的流……