Again thanks, Phil.
I release my app to my costumer both as deskop
application and as service (although I don't use your
serviceconsole framework).
The app hangs at Accept() functions. These are the
steps (summarized):
***********************************************
SKT_Open() // It's ok
SKT_Bind(nSocket,nPort) // It's ok
SKT_Nagle(nSocket) // It's ok
SKT_Listen(nSocket) //Still ok
// --------> Non Blocking Mode
SKT_IoCtl(nSocket)
// Start listening
oTr := Thread():new()
if uSSL == NIL
if uLocal == NIL
::nSSLInternetSocket := nSocket
else
::nSSLSocket := nSocket
end
oTr:start({||::Listener(nSocket,uLocal)})
else
oTr:start({||::SSLListener(nSocket,uLocal)})
end
RETU NIL
METHOD HTTPMan:Listener(nAcceptSocket,uLocal)
LOCAL nClientSock, nLastError, nClientSocket
LOCAL cRcvMeth := "SockReceive"
LOCAL oTr, cErr
while .T.
nClientSocket :=
SKT_Accept(nAcceptSocket) // HERE IS THE PROBLEM
if (nClientSocket <= 0)
if (nLastError := SKT_LastError()) ==
WSAEWOULDBLOCK
Sleep(10) //
No client is trying to connect
else
DispInfo( "Errore sul socket
",SKT_ErrorMsg("Accept") ) // An Error occured
cErr := "Errore n."+
alltrim(str(nLastError))+" " // THE ERROR CODE HERE IS 0 :O(((
cErr += SKT_ErrorMsg("Errore sul
listener "+Var2Char(SKT_ErrorMsg("Accept")))
::SetError(cErr)
EXIT
end
else
SKT_IoCtl(nClientSocket,1)
oTr := Thread():new()
oTr:start("SockReceive",nClientSocket,uLocal)
end
end
oApp:Close()
RETU NIL
***********************************************
There are NO firewall, the port I use is free ....
everything seems to be ok .... but it desen't work!!!!
Please take in the right account that this software
has about 80 installations working since 2000 over ALL MS OS (ME,
2000 Pro, 2000 Server, XP Home, XP pro and 2000 Server) WITHOUT ANY
PROBLEM!!!!
Thanks again
PS.: Anothor costumer of mine has tried to install
my App to another Server 2003 and the problem is the same .... so I
must conclude that there is something that conflicts with 2003 (or
win srver 2003 needs to be configured to let other apps then IIS to
work???)
> Lorenzo,
>
>> thanks, but my app too is correctly installed as
service.
>> Do you use AsInet?
>> I'm using my c-wrapper functions (to WinSock32) with
success since 4 years
>> in all win platforms (Server 2000 included), but
there no way to let it
>> works on server 2003.
>
> I do use ASINET, but the SOAP servers use Xb2.NET
(hmmm, I'm using 5
> different sockets libraries in different apps - I really
must normalise
> this!). I just ran some other apps which use
sockets on the W2K3 server
> just to see if there were any problems:
>
> ASINET - no problems
> SEE4XB - no problems
> XXP_INET - no problems
>
> I also ran an app which uses my own C lib for socket
comms without probs.
> So that's all 5 libs without errors.
>
> Have you tried running your app as a non-service?
You can do this easily
> by running it under the debugger, or if you used my
ServiceConsole
> framework, just use the /c command-line parameter.
This may help identify
> the problem.
>
> Regards,
> --
> Phil Ide
>
> ***************************************
> * Xbase++ FAQ, Libraries and Sources: *
> * goto:http://www.idep.org.uk/xbase *
> ***************************************
>
> This message was typed on recycled
phosphorus