CnPack Forum » CnVCL 组件包 » [求助]关于CnUDP组件的问题,请帮忙啊


2007-1-8 10:17 bisslot
[求助]关于CnUDP组件的问题,请帮忙啊

大家好!

     前些时间我在cnPack网站下载了 (cnpack_20061001.zip) 最新的组件包!
     当组件包安装成功后,本人试用 CnUDP组件确发现了不理解的问题.

     问题发生在 CnUDP组件 的 SendStream(...) 方法,利用此方法 发送较小文件流可成功,
     发生较大的文件流就失败,不知道为什么!

     在CnPack目录下的Examples 中自带的 CnUDPDemo 演示例程中也是相同的结果!

     打开 CnUDP 单元,经过跟踪调试发生问题发生在该单元  DoSendBuffer 方法

     function DoSendBuffer(Buff: Pointer; Length: Integer; Host: string): Boolean;
  var
    i: Integer;
  begin
    Result := False;
    try
      if not ResolveRemoteHost(Host) then
        Exit;
      RemoteAddress.sin_family := AF_INET;
      RemoteAddress.sin_port := htons(FRemotePort);
      i := SizeOf(RemoteAddress);
      if WinSock.sendto(ThisSocket, Buff^, Length, 0, RemoteAddress, i)
        <> SOCKET_ERROR then
        Result := True
      else
        SetupLastError;
    except
      SetupLastError;
    end;
  end;

  希望对此问题能做出答复,谢谢!

2007-1-18 09:02 吕不为
这个长度是有限制的,好象是32K,你需要自己去分段发送.

页: [1]


Powered by Discuz! Archiver 5.0.0  © 2001-2006 Comsenz Inc.