aboutsummaryrefslogtreecommitdiff
path: root/Info/11/NTG/3/E-Mail/pop3.tex
blob: 52b0b84994b8de79e9b1bf656381503a9d4735b1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
\documentclass[margin=1cm, varwidth, tikz]{standalone}
\usepackage{etoolbox}
\input{common_options.tex}
\input{common_packages.tex}
\input{common.tex}
\usetikzlibrary{calc}

\newcommand{\clientToServer}[2]{%
  \path ($(client) - (0, #1)$) edge[above] node[fill=red!20, minimum width=8cm] {\psolution{#2}} ($(server) - (0, #1)$);%
  \draw[->] ($(client) - (0, #1)$) -- ($(server) - (0, #1)$);%
}
\newcommand{\serverToClient}[3]{%
  \path ($(client) - (0, #1)$) edge[above, align=center, minimum width=8cm] node[fill=blue!20, align=left, text width=6cm] {\psolution{\ifstrequal{#2}{+OK}{\textcolor{green!70!black}{#2}}{#2} #3}} ($(server) - (0, #1)$);%
  \draw[<-] ($(client) - (0, #1)$) -- ($(server) - (0, #1)$);%
}

\begin{document}
\begin{tikzpicture}
\node[fill=red!20] (client) {Client};
\node[fill=blue!20] (server) at (8, 0) {Server};

\draw[] ($(client) - (0, 1)$) edge[above, ->] node {\textcolor{gray!80}{Verbindungsaufbau}} ($(server) - (0, 1)$);
\serverToClient{2}{+OK}{POP3 server ready \textless{}domain\textgreater}
\clientToServer{3}{USER \textless{}user\textgreater}
\serverToClient{4}{+OK}{user accepted}
\clientToServer{5}{PASS \textless{}password\textgreater}
\serverToClient{6}{+OK}{pass accepted}
\clientToServer{7}{LIST}
  \path ($(client) - (0, 9)$) edge[above, align=center, minimum height=1.5cm, minimum width=8cm] node[fill=blue!20, align=left, text width=6cm] {\psolution{\textcolor{green!70!black}{+OK} \textless{}Nachrichten Informationen\textgreater\newline 1 bytes\newline 2 bytes}} ($(server) - (0, 9)$);%
  \draw[<-] ($(client) - (0, 9)$) -- ($(server) - (0, 9)$);%
\clientToServer{10}{RETR \textless{}Nummer\textgreater}
\serverToClient{11}{+OK}{\textless{}bytes\textgreater\newline\textless{}E-Mail\textgreater}
\clientToServer{12}{QUIT}
\serverToClient{13}{+OK}{}
\draw[] ($(client) - (0, 14)$) edge[above, ->] node {\textcolor{gray!80}{Verbindungsabbau}} ($(server) - (0, 14)$);

\draw (client) -- ($(client) - (0, 14)$);
\draw (server) -- ($(server) - (0, 14)$);
\end{tikzpicture}
\end{document}