27

我正在寻找一种工具来绘制为滑动窗口协议发送的一系列数据包。有很多工具可以用水平线绘制消息序列图,但我希望能够绘制对角线,就像这张图片的底部:

SYN、SYN+ACK、ACK 示例

请推荐合适的工具。我很可能只对免费广告感兴趣,但如果您对商业广告有非常好的建议,您也可以将其包括在内。

4

7 回答 7

29

mscgen可以使用arcgradient选项执行此操作。此代码段将准确呈现示例的第二部分:

msc {
  arcgradient=20;

  client, server;
  client => server [label="SYN"];
  server => client [label="SYN + ACK"];
  client => server [label="ACK"];
}

如果您将此代码段复制粘贴到mscgen_js在线演示中,您会看到。

于 2013-06-30T14:09:44.500 回答
13

我一直在使用websequencediagrams。本质上是 mscgen 的 webapp 版本,带有一些不同的精美渲染器。

在此处输入图像描述

Websequencediagrams还将他们的图表渲染公开为脚本 API。现在我将我的图表存储为 HTML 文件,将它们提交到 git,显示漂亮的差异等。即,

<html>
<body>
<div class="wsd" wsd_style="rose"><pre>
App->set_state PAUSE
<!-- your wsd diagram commands, etc... -->
</pre></div>
<script type="text/javascript" src="http://www.websequencediagrams.com/service.js"></script>
</body>
</html>
于 2012-04-06T21:52:29.217 回答
6

对于其他有需要的人,有一个很酷的命令行工具mscgen

于 2010-12-08T13:46:57.263 回答
3

你可以试试umlet.com

善良,

于 2009-09-02T11:18:08.217 回答
2

我发现RFFlow启动速度非常快,学习速度快且易于使用。它在斜坡上诊断线和文本,适用于各种框图。它保存为 EMF 和 WMF 以及 GIF 及其原生类型,并且非常好地复制粘贴到 Word 中。

于 2009-09-02T11:23:23.200 回答
1

为了完整起见,这里是另一个基于 Web 浏览器的免费选项:https ://sequencediagram.org/

这是他们的宣传(来自“关于”):

SequenceDiagram.org 是一个用于创建 uml 序列图的在线工具/软件。

解析和绘制图表的所有处理都是在客户端在用户的网络浏览器中完成的。这不仅使它易于使用,而且还意味着您的数据不会像许多其他序列图工具那样通过该工具通过 Internet 传输。由于没有使用后端服务器,因此也可以离线使用该工具。

有许多序列图工具,但这是唯一一个允许您:

∙Script using a simple text notation when it is most convenient to do so, and
∙Draw the sequence diagram using your mouse at the same time when that is most convenient

换句话说,从两个世界中汲取精华。这使得在其他类似工具难以处理的大型图表中工作变得非常容易。它也没有任何广告或不必要的干扰元素。

该工具是由在日常工作中创建大量序列图的人开发、维护和使用的,从效率的角度来看,他们对现有工具并不是 100% 满意。

如果您有任何问题/意见/建议/错误,请联系 info@sequencediagram.org。我们得到的反馈越多,我们就越能优先考虑。

于 2019-09-08T17:08:50.450 回答
1

ZenUML是免费且在线的。它有一个奇怪的功能,允许您使用任何 CSS 代码来设置图表的样式。

在此处输入图像描述

要得到上图,只需在 DSL 编辑器中放

Client->Server:SYN

并通过放置在 CSS 编辑器中施展魔法

div[signature="SYN"]>div.message {
  transform: rotate(10deg)
}
于 2019-09-10T07:22:15.573 回答