同上

解决方案 »

  1.   

    Delphi目录的Demos\Fastnet下不是有个udp的demo么?
      

  2.   

    sorry,没看清楚,那是D6下NMUDP的例子,不过应该大部分方法和属性都是类似的
      

  3.   

    我有Indy的Demo。好像是在盒子上下载的,
    你去找找吧:www.2ccc.com
    如果找不到,就给我你的邮箱,我发给你吧。
      

  4.   

    看看DELPHI自己的例子就可以了,我做了个聊天的程序以前。 :)
      

  5.   

    为什么我在用Delphi得udpsocket控件时老是接受簿到数据呢????????????????????
      

  6.   

    这是一个截屏的例子:
    procedure TClient.CUDPDataReceived(Sender: TComponent;
      NumberBytes: Integer; FromIP: String; Port: Integer);
    var
      CtrlCode:array[0..29] of char;
      Buf:array[0..BufSize-1] of char;
      TmpStr:string;
      SendSize,LeftPos,TopPos,RightPos,BottomPos:integer;
    begin
      CUDP.ReadBuffer(CtrlCode,NumberBytes);{ 读取控制码 }
      if CtrlCode[0]+CtrlCode[1]+CtrlCode[2]+CtrlCode[3]='show' then
        begin { 控制码前4位为“show"表示主控机发出了抓屏指令 }
        if BmpStream.Size=0 then { 没有数据可发,必须截屏生成数据 }
          begin
          TmpStr:=StrPas(CtrlCode);
          TmpStr:=Copy(TmpStr,5,Length(TmpStr)-4);
          LeftPos:=StrToInt(Copy(TmpStr,1,Pos(':',TmpStr)-1));
          TmpStr:=Copy(TmpStr,Pos(':',TmpStr)+1,Length(TmpStr)-Pos(':',TmpStr));
          TopPos:=StrToInt(Copy(TmpStr,1,Pos(':',TmpStr)-1));
          TmpStr:=Copy(TmpStr,Pos(':',TmpStr)+1,Length(TmpStr)-Pos(':',TmpStr));
          RightPos:=StrToInt(Copy(TmpStr,1,Pos(':',TmpStr)-1));
          BottomPos:=StrToInt(Copy(TmpStr,Pos(':',TmpStr)+1,Length(TmpStr)-Pos(':',TmpStr)));
          ScreenCap(LeftPos,TopPos,RightPos,BottomPos); {截取屏幕 }
          end;
        if LeftSize>BufSize then SendSize:=BufSize else SendSize:=LeftSize;
        BmpStream.ReadBuffer(Buf,SendSize);
        LeftSize:=LeftSize-SendSize;
        if LeftSize=0 then BmpStream.Clear;{ 清空流 }
        CUDP.RemoteHost:=FromIP; { FromIP为主控机IP地址 }
        CUDP.SendBuffer(Buf,SendSize); { 将数据发到主控机的2222口 }
        end;
    end;