Answer Posted / chaitanya
This question is usually asked by people who are testing their server with telnet, and want it to process their keystrokes one character at a time. The correct technique is to use a psuedo terminal (pty). More on that in a minute.
You can have your server send a sequence of control characters: 0xff 0xfb 0x01 0xff 0xfb 0x03 0xff 0xfd 0x0f3, which translates to IAC WILL ECHO IAC WILL SUPPRESS-GO-AHEAD IAC DO SUPPRESS-GO-AHEAD. For more information on what this means, check out std8, std28 and std29. Roger also gave the following tips:
o This code will suppress echo, so you'll have to send the characters the user types back to the client if you want the user to see them.
o Carriage returns will be followed by a null character, so you'll have to expect them.
o If you get a 0xff, it will be followed by two more characters. These are telnet escapes.
Use of a pty would also be the correct way to execute a child process and pass the i/o to a socket.
| Is This Answer Correct ? | 0 Yes | 0 No |
Post New Answer View All Answers
How can I tell when a socket is closed on the other end?
Is socket a hardware or software?
What is a socket connection?
How can I set the timeout for the connect() system call?
What is difference between socket () and serversocket () class?
How are unix domain sockets implemented?
What's better 6pt or 12pt sockets?
How do I use TCP_NODELAY?
Can a single socket port be used for multiple applications?
How can I force a socket to send the data in its buffer?
What is a sae socket?
How is a socket created?
Why does the sockets buffer fill up sooner than expected?
How many sockets can a port have?
How to find other end of unix socket connection?