使用UDP发送一个流时出现错误10014 ( 积分: 30 )

  • 主题发起人 主题发起人 siaosa
  • 开始时间 开始时间
S

siaosa

Unregistered / Unconfirmed
GUEST, unregistred user!
使用idUDPClient发送一个文件,该文件大小为20,066字节,出现Socket Error #10014,这是为什么,idUDPClient.BufferSize已经设置为:67108864,发送语句为:
ShowMessage(IntToStr(mc.Size)); //程序显示20066;
idUDPClient.SendBuffer(mc,mc.size); //出现错误Socket Error #10014
 
使用idUDPClient发送一个文件,该文件大小为20,066字节,出现Socket Error #10014,这是为什么,idUDPClient.BufferSize已经设置为:67108864,发送语句为:
ShowMessage(IntToStr(mc.Size)); //程序显示20066;
idUDPClient.SendBuffer(mc,mc.size); //出现错误Socket Error #10014
 
mc为pointer类型? hoho.
10014是地址错误。MSDN的原文是这样说这个error code的:
Bad address.
The system detected an invalid pointer address in attempting to use a pointer argument of a call. This error occurs if an application passes an invalid pointer value, or if the length of the buffer is too small. For instance, if the length of an argument, which is a sockaddr structure, is smaller than the sizeof(sockaddr).
 
mc类型为TMemoryStream
 
我的意思是换成一个pointer类型来试试。改成这样
idUDPClient.SendBuffer(mc.Memory,mc.size);

那边接收之后,也应该是TMemoryStream的类型了吧。 hoho.我没试过。纯属猜测。
 
接受答案了.
 
后退
顶部