We help IT Professionals succeed at work.

Check out our new AWS podcast with Certified Expert, Phil Phillips! Listen to "How to Execute a Seamless AWS Migration" on EE or on your favorite podcast platform. Listen Now


Redirect Console over Winsock

Medium Priority
Last Modified: 2013-11-13
I was curious if anyone knew a way to redirect a console over winsock? I have a console based program that runs on Machine B. I would like to be able to telnet to Machine B from Machine A and have it like I am using the DOS window on MACHINE B.

If you need further explanation, let me know. I dont need a full example I know how to program I just need to know how to redirect the console so that it will display properly in telnet on the other side.

Watch Question

you can get the command line's result with a > filename into the filename

the client sends "dir", the server does :
dir > a.txt

then just open a.txt and send the content
to the client


I cant do it like that, I need to have the program running and redirect whats going on with it. Its a DOS Program I use to manage a database on computer B and I need to be able to view the progress as if I am running the program on the computer.

Stdin and stdout are available as file handles.  This is a good thing, but if the program writes directly to the console's memory it may not go through stdout.  Is all the output going to stdout?

If so, then all you have to do is start the program the same way as a CGI program is started from a web server.  The socket server starts the program with the stdin and stdout as pipes then it can read from the socket and write to the stdin pipe, read from the stdout pipe and write to the socket.

For an example of how that might work, take a look at the source for any webserver that can do CGI (Apache comes to mind since the source is available)

I may try to put together an example...

Does this program that converts the socket stuff into stdin and stdout have to be a VB program?  The question is in the VB section...  If it can be in C try the pipe() function in the standard library.  The Visual Studio help file even has an example for the pipe() function.

Unlock this solution with a free trial preview.
(No credit card required)
Get Preview


Think of it like this...

Lets say I want to run FDISK over a network connection (hypothetical statement). I would want  to be able to telnet to the computer and have the computer run FDISK and redirect it back to the client so it can be displayed in a TELNET client.


Here is something else that will help you.

Assuming you can make a program that:
 - starts a command line program (fdisk, cmd, etc)
 - connects to the stdin and stdout
 - provides a socket server that allows telnet-type connections

Then you need some way of starting it remotely.  It has to be running on the remote machine, so you need some way to start it on that remote machine.

So, then I found something that could do that.  But it also does what you want (e.g. run fdisk remotely and display the results locally)  Check this out:


In general, the stuff at sysinternals.com is worth knowing about...

Unlock the solution to this question.
Thanks for using Experts Exchange.

Please provide your email to receive a free trial preview!

*This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.


Please enter a first name

Please enter a last name

8+ characters (letters, numbers, and a symbol)

By clicking, you agree to the Terms of Use and Privacy Policy.