|
Sounds about right
|
|
|
|
|
Once again, great show of your stupidity.
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong.
-- Iain Clarke
[My articles]
|
|
|
|
|
As important as server hardware and software abilities is your internet connection ability. More important than either is the nature of the protocol - how long does a connection last, how much bandwidth does a connection require, is the data transfer bursty or continuous, is a request processor intensive, ... .
The following is a bit out of date but should give some idea on max _possible_ connections.
http://tangentsoft.net/wskfaq/advanced.html#maxsockets[^]
The current best practice for optimal server programming uses IOCP to manage sparse requests from a large number of connections with a relatively few number of threads. Windows implements this in the kernel. UNIX variants used to implement this in user space, not sure if this is still true.
It could be 100's, or it could be 10-15+ thousand, regardless of the OS.
...cmk
The idea that I can be presented with a problem, set out to logically solve it with the tools at hand, and wind up with a program that could not be legally used because someone else followed the same logical steps some years ago and filed for a patent on it is horrifying.
- John Carmack
|
|
|
|
|
|
includeh10 wrote: what is maximum possible client count related to the software?
I think that it would be practically unlimited (limited only by the availability of resources); but I may be wrong.
[Mod] OK, I've removed the portions that aren't directly related to your query.
“Follow your bliss.” – Joseph Campbell
modified on Thursday, October 15, 2009 5:41 AM
|
|
|
|
|
|
I don't like saying it, but that's the truth. At least socket classes are OK if you're targeting a small number of clients and performance is not an issue. It at least "works".
But the MFC thread sync classes is something that I've had far too many issues with and it's almost 4 years now and I don't touch 'em with a 10 foot plastic pole since then. Thread syncing is always done the win32 way in my little world.
“Follow your bliss.” – Joseph Campbell
|
|
|
|
|
If you want to know how many threads your computer can create, please try it home.
|
|
|
|
|
includeh10 wrote: If you want to know how many threads your computer can create, please try it home.
If you just want to put on a great show your stupidity, please do it at your home.
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong.
-- Iain Clarke
[My articles]
|
|
|
|
|
includeh10 wrote: Based on general good computer hardware and Windows, what are common and "best" software (OS and others)
Isn't Windows already an OS ?
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong.
-- Iain Clarke
[My articles]
|
|
|
|
|
an exe (A) exectutes (runs) another exe (B).
I hope A is waiting at executing call point untill B is created or failed, then A continues to process its code bellow call point.
Simply said, the execute call (ShellExecute or others) is similar to SendMessage(...) in sync-way.
How to do it? CreateProcess()?
|
|
|
|
|
Unfortunately CreateProcess is not a blocking call as you're expecting it to be. It returns even before the target process has completely initialised (the docs...).
You might consider posting a message to the creating process from the newly spawned process (some sort of indication that the new process is live and kicking).
Does that help?
“Follow your bliss.” – Joseph Campbell
|
|
|
|
|
Rajesh R Subramanian wrote: Unfortunately CreateProcess is not a blocking call
i.e. Any sentence, out of context, may be funny!
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong.
-- Iain Clarke
[My articles]
|
|
|
|
|
What's it? I'm missing some subtle humour here.
“Follow your bliss.” – Joseph Campbell
|
|
|
|
|
I'm pretty happy CreateProcess is not blocking as requested by the OP.
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong.
-- Iain Clarke
[My articles]
|
|
|
|
|
Rajesh R Subramanian wrote: What's it? I'm missing some subtle humour here.
Actually typical English humour; interesting that it was posted by a foreigner - that's the EU for you
[edit]Sorry Rajesh; the suggestion is that the expression 'blocking call' is a curse/obscenity.[/edit]
|
|
|
|
|
Hehe... Thank you.
“Follow your bliss.” – Joseph Campbell
|
|
|
|
|
Hi,
i've just managed to build a TABControl. Below this TabCtrl i have some Checkboxes which should be used to enable and disable all DialogItems from a Tab.
I.e. if i uncheck a checkbox, i want all elements from my first dialog, which is on my first tab to be disabled.
Is there any solution to dynamically get all elements from a dialog and not adding a member variable to each and disabling it?
ty!
|
|
|
|
|
GetWindow(...) with a loop
|
|
|
|
|
Should i put the ID's of all elements in an array and do the loop over the GetWindow or is there any other way?
|
|
|
|
|
No, have a look about the function.
code is:
CWnd*pw=GetWindow(GW_CHILD);
while(pw)
{
pw=GetWindow(GW_HWNDNEXT);
}
|
|
|
|
|
CWnd* pw = m_tab1.GetWindow(GW_CHILD);
while(pw)
{
MessageBox("trala");
pw=m_tab1.GetWindow(GW_HWNDNEXT);
}
ends in endless "trala"'s
"m_tab1" is the ctrl for my dialog.
in general i would write:
m_tab1.GetDlgItem(IDC_T1_OK)->EnableWindow(0);
|
|
|
|
|
Sorry, missed pw-> in code.
According to your code, the code is:
CWnd* pw = m_tab1.GetWindow(GW_CHILD);
while(pw)
{
MessageBox("trala");
pw=pw->GetWindow(GW_HWNDNEXT);
}
|
|
|
|
|
|
Now that i've gotten the handle to all items, i'd like to know how i may get information of which kind the item is.
is there any way to get to know whether the item is a button or a spin control or... whatever?
|
|
|
|