使用 Tikz 的客户端-服务器图

使用 Tikz 的客户端-服务器图

我如何使用 Tikz 获得该图表?

Tikz 客户端服务器

答案1

好的,既然@Andrew 要求我这么做,我就发布一个答案。(最初我认为这有点没意义,因为这里的帖子是公开的,其他人可以从中学习。但我认为从下面的代码中学到的东西并不多。)

\documentclass[tikz,border=3.14mm]{standalone} 
\usetikzlibrary{positioning} 
\begin{document} 
\begin{tikzpicture}[block/.style={draw,minimum width=2cm,minimum height=1cm}, font=\sffamily] 
\node[block](C) {Client}; 
\node[block,right=9cm of C](S) {Server}; 
\draw[-latex] (C.15) -- (S.165)
node[midway,above]{Request(GET,POST,PUT,DELETE,HEAD,OPTION)}; 
\draw[-latex] (S.195) -- (C.-15) node[midway,below]{Response(z.B.\ JSON,XML)}; 
\end{tikzpicture} 
\end{document}

在此处输入图片描述

以下是一些一般性评论。请注意,这些评论并非旨在严厉批评,但我希望您阅读并思考一下:你之前的问题,您有一个 MWE,这本身就是一件好事。但是,这个 MWE 与另一位作者的代码非常相似,这让我认为您有可能从之前的帖子中复制了它。从某个地方复制代码在我看来是可以的,只要您给予原作者信用即可。如果你不这样做,这会让这里的一些用户,包括我自己,有点不高兴。然而,在我看来,解决方案不仅仅是不要发布 MWE,因为这会让潜在的回答者只需从屏幕截图中输入内容,而许多人不喜欢这样做。相反,我建议你可能想要使用以前的答案,尝试理解它们并根据你的需要进行修改,如果你遇到困难,你有一个 MWE,如果与它的来源一起发布,将引发一个问题,从而引发更有利的反馈。这还会引发其他人可以从中学习的帖子。

答案2

只是为了和 MetaFun 一起玩。

\startMPinclusions
  input rboxes;
\stopMPinclusions
\startMPpage
  numeric u; u := 1cm;
  interim defaultdx := .5u;
  interim defaultdy := .5u;
  boxit.c("Client"); c.c = (-6.5u,0);
  boxit.s("Server"); s.c = (+6.5u,0);
  drawboxed(c,s);
  path p,q;
  p := .5[c.ne,c.e] -- .5[s.nw,s.w];
  q := .5[s.sw,s.w] -- .5[c.se,c.e];
  drawarrow p;
  drawarrow q;
  label.top("Request(GET,POST,PUT,DELETE,HEAD,OPTION)", point .5 along p);
  label.bot("Response(z.B.\ JSON,XML)", point .5 along q);
\stopMPpage

在此处输入图片描述

相关内容