# 13 A Client for the DICT Protocol

### Leif Kornstaedt

[ Start Applet | How to enable Applets ]

The Protocol

The Dictionary Server Protocol (DICT) is a TCP transaction based query/response protocol that allows a client to access dictionary definitions from a set of natural language dictionary databases. For further information see The DICT Development Group.

The Application

This application implements an interactive graphical client for the DICT protocol. Enter a word in the top text field and click on ``Lookup'' to retrieve definitions for it, displayed in a separate window. Words highlighted in blue are links to other definitions. Activate ``Match'' and you are presented a list of close matches in a new window; clicking on a line in this window retrieves the corresponding definition.

Selecting Databases

The left list box allows to select the databases in which to look for definitions and/or matches: you always have the choice of ``all'' to look through all databases or ``first with matches'' to stop after the first in which lookup was successful. The ``update list'' button queries a complete list of the databases present on the server. You can then select a set of these for lookup: A simple click selects a single database; clicking while the shift key is pressed selects a range; clicking while the control key is pressed toggles an entry.

Selecting a Strategy

The right list box allows to select the strategy used by the ``Match'' operation. As for the databases, the ``update list'' presents you with a complete list of all strategies supported by the server.

Logging the Actions

The text window at the bottom displays a log of all actions, both those already performed and those still to be performed. The text line below it describes the currently performed action.

## The ``Server'' Menu

Open ... | C-o

  Choose another server and/or port instead of the default. The default is port 2628 on server `dict.org`.

Status | C-s

  Retrieve short status information from the server currently connected to and display it in the text line at the bottom of the window.

Information ...

  Display server information written by the server's administrator. This could include information about databases or strategies, or administrative information.

Close | C-x

  Close any currently open connection and exit the client.

## The ``Database'' Menu

Information ...

  Display the source, copyright, and licensing information about the currently selected databases.

## Implementation

Each of the files in this section is an individual functor. They are presented in a bottom-up fashion, starting with the component handling a network connection, building the display and control window on top of that, and ending with the application actually parsing the command line and instantiating the client.