- Updated Makefiles
- Moved TAS code to psi - Updated programmers documentation SKIPPED: psi/make_gen psi/nextrics.c psi/t_conv.c psi/t_conv.f psi/t_rlp.c psi/t_rlp.f psi/t_update.c psi/t_update.f psi/hardsup/el734_utility.c psi/hardsup/makefile_alpha
This commit is contained in:
@@ -1,36 +1,33 @@
|
||||
\chapter{The SICS Server Client Protocol}
|
||||
This short chapter describes the command protocol between the SICS server
|
||||
and possible SICS clients. All this is very simple.
|
||||
|
||||
\section{Logging in to the SICS Server}
|
||||
In order to log in to the SICS server it needs to be known on which
|
||||
machine the server runs and at which port number the server listens for
|
||||
connection requests. Also needed is a valid username/ password pair for the
|
||||
SICS server in question. Given that the procedure for connecting to a SICS
|
||||
server requires the following steps:
|
||||
\begin{enumerate}
|
||||
\item Open a TCP/IP connection to the SICS server port at the machine
|
||||
where it is running.
|
||||
\item Immediately after opening the connection send the username/password
|
||||
pair. If everything is OK, a string OK is sent. Else the server will break
|
||||
the connection again.
|
||||
\end{enumerate}
|
||||
|
||||
\section{Sending Commands}
|
||||
After login, two means of communications exist. The communication
|
||||
protocoll is choosen through the server port the client connects too.
|
||||
The recommended way is
|
||||
to adhere to the telnet protocoll as described in RFC-854. Just a
|
||||
basic NVT (Network Virtual Terminal) with no options is
|
||||
implemented. Binary communication is not possible on a telnet port.
|
||||
|
||||
The older way of communication is to send commands directly on the
|
||||
TCP/IP port. Commands are strings terminated by a \verb+\n+. Return
|
||||
messages from the server have the same format. This scheme is
|
||||
obsolete but it has been left in because the need for a binary
|
||||
communication may arise and this would help implement such a thing.
|
||||
The SICS server actually listens for connections on two sockets, each
|
||||
implementing a different protocoll. The first type of connection
|
||||
implements the telnet protocoll. The second type uses a plain socket
|
||||
and has the advantage that binary data can be transferred.
|
||||
|
||||
\section{Connecting using Telnet}
|
||||
The SICS server implements the most primitive telnet server possible
|
||||
and does not support any of the fancy options possible with
|
||||
telnet. Using the telnet protocoll involves:
|
||||
\begin{itemize}
|
||||
\item Open a scoket conenction to SICS telnet port
|
||||
\item Send a login word followed by a username and a password. The
|
||||
login word is set in SICS initialization file as the SicsOption
|
||||
TelWord.
|
||||
\item On success a welcome message is printed, otherwise SICS
|
||||
terminates the connection.
|
||||
\item Now commands can be sent, but watch for the telnet protocoll
|
||||
specification in RFC-?????.
|
||||
\end{itemize}
|
||||
|
||||
\section{Connection using a plain Connection}
|
||||
This protocoll involves:
|
||||
\begin{itemize}
|
||||
\item Open a scoket conenction to SICS telnet port
|
||||
\item Send a username and a password.
|
||||
\item On success OK is printed, otherwise SICS
|
||||
terminates the connection.
|
||||
\item Now commands can be sent as strings terminated with a newline.
|
||||
\end{itemize}
|
||||
|
||||
For a list of possible commands consult the
|
||||
user documentation.
|
||||
@@ -59,3 +56,6 @@ ASCII string of the form: {\bf SICSINT num} must be sent. num must be
|
||||
replaced by the number of the interrupt to issue. Again interrupt codes are
|
||||
resolved in file interrupt.h.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user