系统频繁出现:windows socket error:由于系统缓冲区空间不足或列队以满不能执行行套接字上的的操作(10055) on api'(connet)'代码如下:
procedure TMainForm.ClientSocket_AnalyserRead(Sender: TObject;
Socket: TCustomWinSocket);
var
P: PSocketPacket;
Buffer: array[1..8192]of Char;
begin
FillChar(Buffer, Sizeof(Buffer), 0);
Socket.ReceiveBuf(Buffer, Socket.ReceiveLength);
P := PSocketPacket(@Buffer);
while True do
begin
if P^.Mark=TRIMARKER then
begin
case P^.Code of
ADD_BLACKLIST:
begin
CLientSocket_BlackList.Socket.SendBuf(P^, 12+P^.Length);
end;
end
else
break;
end;
end
else
break;
P := Pointer(Integer(P)+12+P^.Length);
end;
end;
请问大虾们分析问题出现的原因和问题到底出现在什么地方!!!!!
procedure TMainForm.ClientSocket_AnalyserRead(Sender: TObject;
Socket: TCustomWinSocket);
var
P: PSocketPacket;
Buffer: array[1..8192]of Char;
begin
FillChar(Buffer, Sizeof(Buffer), 0);
Socket.ReceiveBuf(Buffer, Socket.ReceiveLength);
P := PSocketPacket(@Buffer);
while True do
begin
if P^.Mark=TRIMARKER then
begin
case P^.Code of
ADD_BLACKLIST:
begin
CLientSocket_BlackList.Socket.SendBuf(P^, 12+P^.Length);
end;
end
else
break;
end;
end
else
break;
P := Pointer(Integer(P)+12+P^.Length);
end;
end;
请问大虾们分析问题出现的原因和问题到底出现在什么地方!!!!!
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货