A Terminal Dilemma

Hi everyone, I hope this is the right place to ask this question...

I have a contract to convert a mainframe/DB2 application to using AIX/Oracle. Everything went fine but we are now running into a terminal problem. With the Mainframe app, the clients had great response time from remote locations. With the unix app, the response time is horrible. This seems to be because the mainframe application only sent data on tabs and returns. We need to be able to get our unix application to do this. I have been looking into this for some time and came up with a telnet LINEMODE option. The only problem is that it seems to be hard to find a client that supports this and still supports the ability for the client to position the cursor with the mouse (which is another requirement). Currently we are using PCOMM but can't get it to support this linemode option. I've tried putty which only supports sending on a return and not a tab, so I changed the code to have it send on tabs as well, but it doesn't support the ability to click on a field to position the mouse.

Could anyone offer me some advice here? Maybe some telnet clients that you might know of would be great!

Thanks,
-- Rocky

You could try HummingBird Exceed(?)

Isn't that an X-server? The application is all in a text based terminal, we really just need to stop it from doing a send/recv on each keystroke.

I don't understand how you are using a mouse in conjunction with an ascii terminal. Please explain how that works.

If you are using an ascii terminal, it would take a lot of work to do that. Unix is deeply full duplex at it's heart. If you do "stty -a", you will probably see "echo" rather than "-echo". That means you type a character and it goes to the host which echos it on the screen. Since you are using telnet and therefore psuedo terminals, you can ignore xon/xoff problems. But most people want echoe on so that an erase character is echoed as backspace-space-backspace. The INTR character (usually cntl-C) sends a SIGINT immediately. EOF (usually cntl-D) immediately sends an EOF. SIGQUIT, job control, line erase, the list goes on and on. You are not going to hammer the unix terminal driver into your mold easily. If you succeed, all telnet sessions will be affected. Ditto anything else that uses psuedo terminals. Many unix programs will not function at all, vi comes quickly to mind. Others will not work very well.

Unless your users are bouncing off a satellite or two, I rather doubt that full duplex operation is the problem anyway. What happens when you do other stuff, is everything slow, or just your app? I sometimes need to access boxes in other parts of the world. I get pretty decent response except when I bounce off a satellite. Then I type a character and sometime later it appears. I type a line and wait for it to appear before I can hit return. I admit that linemode does start to look attractive in that environment.

If you are using a telnet client, your platform could run other clients. One option might be to go to a web based application. You would have a html server on the aix box, and the users would use netscape or whatever. Another option is to write your own server and write your own clients.

The clients are using MS windows, so that's where the mouse comes in. The application has a few fields that the user can tab between and then submits the data. Using PCOMM, they can click a specific location and the cursor will be placed in that field.

The slowness we are experiencing is because we are in DC and some clients are in South America. When they type a long description in the field, it takes a long time because every character has to be echoed back and sometimes in takes a second or so just to get the character echoed back. Web based would be the best solution of course but unfortunately we can't do that currently, we have to make this current solution usable before we can do anything else in the long term.

The only quick thing might be to turn off character echoing. The unix command is: stty -echo and you would need to find an option in your client to display characters as they are typed. It might be called half duplex mode. That still will break vi ans the passwd program won't be able to hide passwords, etc.