I am also interested in investigating of this problem.
Old rdesktop frequently hangs forever in case of network breakdown,
the only way to close rdesktop is switching to text console and 'kill'
it. Freerdp works much more better, because window is always
responsible, you can close it at any time.
I know that some users would like to have the same behavior as in
latest versions of Microsoft RDP Client - in case of network failure
client tries to reconnect for several times.
So, the question is: how to detect the moment when server becomes
unavailable? May be, we should use TCP keepalive? When server stops
response to keepalive probes, we will receive 'ETIMEDOUT' signal and
we can show some notice to user: "server is not available".
I think, keepalive is better then using 'select' on network socket,
because 'select' does not check the connection from client to server,
it only checks if the socket is ready to write.

I am new to network programming, and I don't know what way is better.
Please give some advice.

Thank you.

2010/12/2 Oleg fry Pelipenko <[email protected]>:
> Hi,
>
> I have a problem when using freerdp with unstable network connection. Let me 
> describe this problem. If freerdp connected to a server and this time breaks 
> connection (for example, break the physical line between computers) between 
> the client and server, the application window hangs. Further there are 
> several possible outcomes of events:
> 1) if the connection is restored rapidly, approximately less than 30-40 
> seconds, the window comes alive and continues to operate normally;
> 2) if the connection is restored later than 40 seconds after the break, the 
> window and left hangling and in any way other than the completion of the 
> window does not close.
>
> We find such work is not suitable for the client and, therefore, attempted to 
> correct this problem. As we thought the best solution would be to define the 
> command line parameter, which will indicate how many seconds after the 
> connection is not restored should close the application window.
> To implement this feature in the function tcp_send before going on to send 
> data by calling a standard function I call the select function, to check 
> whether it is possible to send data in writing sockets. And in this select we 
> can set our timer.
>
> I want you to ask is this is the correct solution to the problem, maybe there 
> are more appropriate way?
>
> Was tested on Windows Server 2008 R2 with the session broker.
>
> --
> mailto: [email protected]
>
> ------------------------------------------------------------------------------
> Increase Visibility of Your 3D Game App & Earn a Chance To Win $500!
> Tap into the largest installed PC base & get more eyes on your game by
> optimizing for Intel(R) Graphics Technology. Get started today with the
> Intel(R) Software Partner Program. Five $500 cash prizes are up for grabs.
> http://p.sf.net/sfu/intelisp-dev2dev
> _______________________________________________
> Freerdp-devel mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/freerdp-devel
>

------------------------------------------------------------------------------
Increase Visibility of Your 3D Game App & Earn a Chance To Win $500!
Tap into the largest installed PC base & get more eyes on your game by
optimizing for Intel(R) Graphics Technology. Get started today with the
Intel(R) Software Partner Program. Five $500 cash prizes are up for grabs.
http://p.sf.net/sfu/intelisp-dev2dev
_______________________________________________
Freerdp-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/freerdp-devel

Reply via email to