<div dir="ltr">Hi,<div><br></div><div>I'm trying to close a socket (full code here: <a href="https://bitbucket.org/silvioprog/tcpipcomp/src/6b43739d5416424e82112b858a9b71d26c8c6165/src/tcpipserver.pas?at=master">https://bitbucket.org/silvioprog/tcpipcomp/src/6b43739d5416424e82112b858a9b71d26c8c6165/src/tcpipserver.pas?at=master</a>):</div>

<div><br></div><div><div>destructor TTcpIpServerSocketThread.Destroy;</div><div>begin</div><div>  FSocket.StopAccepting;</div><div>  FSocket.Free;<br></div><div>  inherited Destroy;</div><div>end;</div></div><div><br></div>

<div>But, it returns:</div><div><br></div><div>"Could not accept a client connection on socket: 288, error 10004"<br clear="all"><div><br></div><div style>The erros occurs just when I run my project on IDE. I noticed that error is in this code:</div>

<div style><br></div><div style><div>Function TInetServer.Accept : Longint;</div><div><br></div><div>Var l : longint;</div><div><br></div><div>begin</div><div>  L:=SizeOf(FAddr);</div><div>  Result:=Sockets.fpAccept(Socket,@Faddr,@L);</div>

<div>  If Result<0 then</div><div>{$ifdef Unix}</div><div>    If SocketError=ESysEWOULDBLOCK then</div><div>      Raise ESocketError.Create(seAcceptWouldBlock,[socket])</div><div>    else</div><div>{$endif}</div><div>
      Raise ESocketError.Create(seAcceptFailed,[Socket,SocketError]);</div>
<div>end;</div></div><div><br></div><div style>The "Result" is returning -1, so, what I must do to it return 0? Overriding in a descendant class of TInetServer?</div><div><br></div>-- <br>Silvio Clécio<br>My public projects - <a href="http://github.com/silvioprog" target="_blank">github.com/silvioprog</a>
</div></div>