you should use 2 threads for each client + 1 thread for entire network.
thread1)its priority should be low till they get a message from application in their line(collection for messages, you should build a class for that).
when message(s) got finished the priority should be set to low
thread2)should always read streams and add them to the line class associated with it.
net thread) should read lines of messages gotten by second set of threads and execute them.
i have did it and it worked very well.
i had a project i named it remotecompiler the project sends codes objects events procedures gets services from clients or server such as NetService FileService... (i used IServiceProvider class) and can execute orders with its services (it had about 50 classes)
i think tis may get you a good idea.
please tell me when you done it
How can I intercept the audio output as it goes to the sound card? is there an audio stream that I can access using .net or third party library?
I'm trying to write a program for correcting lip sync problems when playing back blu-ray discs. I'm hoping to be able to intercept the audio output from the computer and then add an adjustable time delay before sending it back to the audio output again.
They sell a library that lets you intercept the audio stream.
However, it doesn't work with Vista because Vista has a protected audio stream.
Thanks, I've had a look at Total Recorder, the latest version does work with vista athough it seems that all I can do with it is duplicate the audio stream as it is output rather than being able to actually reroute it. I might be wrong of course.
What I would really like to be able to do is capture the audio stream before it gets to the sound output device and then add my delay before sending it on again.
I have come accros another issue whist trying to use directx to acheive my goal. I thought I would start by attempting to identify what the sound output device was identified as so I wrote the following to hopefuly display all my sound devices.
DevicesCollection devList = new DevicesCollection();
foreach (DeviceInformation device in devList)
Unfortunately running this code reulted in the following error.
LoaderLock was Detected
DLL 'C:\Windows\assembly\GAC\Microsoft.DirectX\1.0.2902.0__31bf3856ad364e35\Microsoft.DirectX.dll'is attempting managed execution inside OS Loader lock. Do not attempt to run managed code inside a
DllMain or image initialization function since doing so can cause the application to hang.
I've never come accross this before and have absolutely no idea how to resolve it. I'm a bit of a beginner having completed only 1 year of a computer science degree course so far and errors like this just tend to floor me.
I know what you mean!
The problem is that managed (or safe) strings are duplicated, copied and may (or may not) be deleted - the unmanaged (or unsafe) stuff is more under your control, and thus "safer". I blame Microsoft for not introducing a "Secure" keyword for variables...
No trees were harmed in the sending of this message; however, a significant number of electrons were slightly inconvenienced.
This message is made of fully recyclable Zeros and Ones
GetString converts all the bytes from ASCII to Unicode, and 0 is a valid character, it is ASCII NULL.
If you know there is a NULL, then use ASCIIEncoding.ASCII.GetString(test, 0, test.Length-1);
Luc Pattyn [Forum Guidelines][My Articles] The quality and detail of your question reflects on the effectiveness of the help you are likely to get.
Show formatted code inside PRE tags, and give clear symptoms when describing a problem.
It would be very unusual for anybody to share an Email address with people they don't know.
You would help people to read your code if you put it between <pre></pre> tags, and format it properly, with indents and so on. Also only post relevant code, there is far too much in your question.
Do not read medical books! You could die of a misprint. - Mark Twain
Girl: (staring) "Why do you need an icy cucumber?"
“I want to report a fraud. The government is lying to us all.”
Last Visit: 31-Dec-99 19:00 Last Update: 1-Dec-23 20:39