scktsrvr中的问题,多谢(20分)

  • 主题发起人 主题发起人 多多帮助
  • 开始时间 开始时间
我的意思是怎么能捕捉到一个非正常关闭的连接。我试了。在scktsrvr中可以。
function TCustomWinSocket.ReceiveBuf(var Buf;
Count: Integer): Integer;
var
ErrorCode: Integer;
begin
Lock;
try
Result := 0;
if (Count = -1) and FConnected then
ioctlsocket(FSocket, FIONREAD, Longint(Result))
else
begin
if not FConnected then
Exit;
Result := recv(FSocket, Buf, Count, 0);
if Result = SOCKET_ERROR then
begin
ErrorCode := WSAGetLastError;
if ErrorCode <> WSAEWOULDBLOCK then
begin
Error(Self, eeReceive, ErrorCode);
Disconnect(FSocket);
if ErrorCode <> 0 then
raise ESocketError.CreateResFmt(@sWindowsSocketError,
[SysErrorMessage(ErrorCode), ErrorCode, 'recv']);
end;
end;
end;
finally
Unlock;
end;
end;
好像是这个。我在自己的程序中怎么调用呢
 
知己改写socket.pas到active空间中啊!
 
谁有例子,多谢
 
下载一下新的试试,好象没有问题。
 
恩,新的没有问题,我用它做了好几个项目了
 
离子在全文检索:
黑客DELPHI
下面的烂泥的贴制里面!
 
顺便 问个问题:用socket连接,通过外网internet来访问中间层(固定IP及端口),为何不能访问RPC服务器
 
后退
顶部