Systemd 套接字:listendatagram 与listenstream

Systemd 套接字:listendatagram 与listenstream

第一个发言者的演讲非常精彩systemd,介绍了基于套接字的服务激活的两种情况。

第一个单元文件对应一个tftpsocket,如下

tftp.socket

[Unit]
Tftp server activation socket

[Socket]
ListenDatagram=69

[Install]
WantedBy=sockets.target

cockpit第二个是RHEL7 上也是套接字激活的服务的示例

cockpit.socket

[Unit]
Description=Cockpit Web Server Socket
Documentation=man:cockpit-ws(8)

[Socket]
ListenStream=9090

[Install]
WantedBy=sockets.target

我假设 和 的值都ListenDatagramListenStream每个相应服务将被激活的端口,这两个不同命名的目的是什么?

答案1

请参阅systemd.socket手册页。对于互联网套接字来说,一个简单的数字确实是一个端口号,它们之间的区别是数据报意味着 udp,流意味着 tcp。

但是,当这些选项引用 Unix 域套接字时,它们也可以采用诸如 之类的值/my/file,其区别如关联作者:Marko Kosmerl,即读取器是否可以看到来自写入器的数据包之间的边界。

相关内容