Go 3270 Server Library

PkgGoDev

This library allows you to write Go servers for tn3270 clients by building 3270 data streams from fields and processing the client's response to receive the attention keys and field values entered by users.

The library is incomplete, likely buggy, and under heavy development: the interface is UNSTABLE until this notice is removed from this readme and version 1.0 is released.

Everything I know about 3270 data streams I learned from Tommy Sprinkle's tutorial. The tn3270 telnet negotiation is gleaned from RFC 1576: TN3270 Current Practices, RFC 1041: Telnet 3270 Regime Option, and RFC 854: Telnet Protocol Specification.

Usage

See the example folder for a quick demonstration of using the library.

Here's a video introducing the library as well.

Future Enhancements

I would like to add:

  • Extended field attribute support (e.g. color).
  • Utility functions for easily laying out forms.

Known Problems

  • The telnet data is not checked for the special telnet byte value, 0xFF, which requires escaping while sending and unescaping while receiving data. If your 3270 data streams contain an FF character, things will probably break. However...I don't think 0xFF should ever appear in the datastream, so we're probably okay.
  • The telnet negotiation does not check for any errors or for any responses from the client. We just assume it goes well and we're actually talking to a tn3270 client.

License

This library is licensed under the MIT license; see the file LICENSE for details.

S
Description
A 3270 server library for Go
Readme MIT
177 KiB
0 Stars 1 Watchers 0 Forks
Languages
Go 100%