Add your own alternative version
Stats
663.3K views 58.3K downloads 480 bookmarked
Posted
23 May 2000
|
Comments and Discussions
|
|
|
How many grids of the screen can get the best performance?. I try m_iXScale(2), m_iYScale(2). The result even get worse.
thx
By the way the project is great. I lean so much on it. So thank you very much.
|
|
|
|
|
It really depends on how many threads you are devoting and whether the compression is also threaded. The code is parameterized so that different threading schemes can be configured. I haven't looked in the code in awhile but I will look and post a reply. Thanks for your interest.
|
|
|
|
|
Look in RDSDlg.cpp for these variable initializations, they control the performance of the system.
m_nGridThreads = m_iYScale;
m_nCompThreads = 1;
For the best performance you need to know how many threads your system supports. Luckily there is a member variable in CRDSDlg called 'cpu'.
This gives you the total number of threads you have to work with.
Try this
int nThreads = cpu.GetNbThreads();
m_nGridThreads = min(m_iXScale * m_iYScale,nThreads - 1);
m_nCompThreads = 1;
|
|
|
|
|
i did not get cpu variable be the in the code,what would be the next step to get the cpu threads.
|
|
|
|
|
Look in Common.h. There is a class called CPU. If you make a variable of type CPU then you get get the number of threads, etc... by calling its methods.
|
|
|
|
|
Hi Andy,
5 * from me.
I have a question, is the RDV available in vb.net ?I need to write a code in vb.net that can connect remotely to another PC.
Thanks
|
|
|
|
|
It is not currently available for vb.net
|
|
|
|
|
Hi Andy,
5 * from me.
I have a question, is the RDV available in vb.net ?I need to write a code in vb.net that can connect remotely to another PC.
Thanks
|
|
|
|
|
can you explain the meaning of each statement in the program?
|
|
|
|
|
could you help to check that?
I run RDS on xp, RDV on win7, now the xp mouse can not move to other position.
Great & Free windows software for you
http://www.aisnote.com
|
|
|
|
|
How start server as windows service?
|
|
|
|
|
Well, it is complicated. The system would have to be separated into a UI component and a service component. I've thought about doing it before but I haven't had a real need for that feature.
|
|
|
|
|
Done similar things before some time ago, but it was very easy, using the already built in RDP objects..
Why not use that?
"Microsoft Terminal Services..." - (Add COM ref..)
Or maybe that IS what you're using?
|
|
|
|
|
Well, would you believe that this project was never really about remote desktop? 
|
|
|
|
|
I believe you. You made it, after all...
But then what is it about? lol
Remote Control PCs?
You can have a form with several "RDPs" inside? Don't have to think about all the details, Microsoft has already done it for us?!
Wouldn't it be easier to build from that?
Just the title, the screenshots; same result with much simpler code?
|
|
|
|
|
The original intent of this project was for self learning. I wanted to understand bitmaps and sockets. I combined the two together to send a bitmap over the socket. Anyone who has ever played with bitmaps faces the question "what is a good bitmap to play with?" The answer is always "the desktop". So I started by capturing the desktop and sending it over a socket. I think there is good reusable code in the project for purposes other than remote controlling. You are absolutely correct that there are better and faster ways to do that task. Inside the project you will find: Code to use ZLIB as a multithreaded compressor, a robust system for capturing mouse and keyboard events, packaging them up in structures, and replaying them using Windows API's, turning a bitmap into an icon or cursor (who hasn't needed that from time to time?) and how to use sockets in the easiest way around by tieing them to the windows message pump and handling WM based socket events. So that, my friend, is the reason for this project and it is why I say it was never about remote controlling in the first place. Cheers!
|
|
|
|
|
if using Microsoft Terminal Services, one of the logged on user will be kicked out.
But this RDV is not kicking out the user
|
|
|
|
|
|
pay attention on auto_ptr and array, like in common.cpp:
void DebugMsg(const TCHAR * pwszFormat,...)
{
TCHAR buf[1024] = {'\0'};
va_list arglist;
va_start(arglist, pwszFormat);
int nBufSize = _vsctprintf(pwszFormat,arglist) + 1;
if (nBufSize)
{
std::auto_ptr<TCHAR> Buffer(new TCHAR[nBufSize]);
TCHAR * pBuffer = Buffer.get();
_vstprintf_s(pBuffer,nBufSize,pwszFormat,arglist);
va_end(arglist);
OutputDebugString(pBuffer);
}
}
auto_ptr uses delete on destructor, not delete []. Result is undefined (see many articles on net about auto_ptr and arrays). Use vector instead.
Good work indeed, my 5.
|
|
|
|
|
Thank you. I've read once that for "char" allocations that delete and delete [] have the same effect. I can't find a reference to the information anymore. I should be using vector. I will make the change. Thanks.
|
|
|
|
|
|
The system has been updated to be stable again in regards to the SOCKET connections as well as simplified on the user options. You just start/stop the system now without worrying about the underlying settings that control threads, screen partitioning, etc... I have also removed the icon chaning in the client side since it seems to stop working after awhile. I need to research this and it is possibly just some resource handles that may be accumulating and not releasing the way I thought they should.
|
|
|
|
|
I only have VS 2005 so I cannot properly access the project to find out, but I would like to know how I can start the server automatically. For example at Windows startup so that it's available for connections automatically.
It is possible to run it with an .ini file that might have the following info...
- port
- password
Or how can I run the program to "start", ie:
CMD > rds.exe -start
|
|
|
|
|
Avg brings this project up as a virus on my pc
|
|
|
|
|
|
General News Suggestion Question Bug Answer Joke Praise Rant Admin
Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.
|
|