About socketio
Socketio is an extension to the Tcl/Soar Interface (TSI) that allows
Soar to communicate with other programs. Specifically, it makes
Soar's input-link and output-link available to other programs by
passing the information back and forth over a socket. So, when a
client connects to Soar, it can send changes to the input-link and it
can receive back changes Soar made to the output-link.
Downloading
Binary (runnable) distributions:
Source distributions:
Installation (binary distribution)
Windows
Download the file. Extract it with WinZip or another of your favorite
unzippers. Go into the socketio directory that's created,
and run socketio.bat.
All UNIX variants
Download the file. Un-gzip-and-tar it. You should have gzip and tar
installed on your system already, 'cause it's UNIX. You should have
Tcl and Tk installed on your system already, and your environment
variable TCL_LIBRARY should be set appropriately. If you don't know
how to use tar and gzip, here's how: go into the directory into which
you downloaded socketio.tgz, and type gzip -d -c
socketio.tgz | tar -xvf -. Finally, go into the
socketio directory, and run socketio.
The TCL_LIBRARY and TK_LIBRARY environment variables should point to
libraries for tcl7.6 and tk4.2. For example, if tcl is located in
/usr/tcl/lib/tcl7.6/ and tk in /usr/tcl/lib/tk4.2
then you'll want add these lines to either your .*shrc file OR to the
socketio start up script. [Add it to the socketio script if you
already set the TCL and TK environment variables to something else in
the .*shrc.]
If you can't figure out where you tcl_library is, start up wish by
typing wish then type:
Installation (source distribution)
Note: most people shouldn't install the source distribution, since
most people won't need to mess around with the C code part of the
socketio distribution. If you do actually decide to download this,
you should probably also download an appropriate binary as well, since
the source dist contains enough to compile
socketio.dll/socketio.so, but it doesn't contain
enough to run it.
Windows
Download the file and unzip it. There's a VC++ 5.0 project file you
can open, or you can create your own project if you're using a
different compiler. If you don't have the Tcl source installed on
your machine, be sure to add the directory win32.src as an
include and library directory, under Tools/Options...
Unix
Download the file and un-gzip-and-tar it. Edit the makefile so that
it is looking in the right place for the Tcl include files on your
system, and uncomment the appropriate defines = ... line for
your system. Then just run make.
Documentation
Documentation is bundled with the binary distributions in the file
tcl_code/readme.html. It's also available online.
Note on the WinNT distribution: since WinNT does not allow
environment variables to be set from the command line, they have
to be hard-coded in. This distribution expects to be unpacked in
c:\temp. If you want to move it to a different
directory, look in socketio2\socketio2.bat to see what
needs changing.
setenv TCL_LIBRARY /usr/tcl/lib/tcl7.6/
setenv TK_LIBRARY /usr/tcl/lib/tk4.2
set tcl_library
set tk_library
Wish will return the values and you can use the above mentioned setenv
commands to set the environment variables in your shell.