在这第一个发言者的演讲非常精彩systemd
,介绍了基于套接字的服务激活的两种情况。
第一个单元文件对应一个tftp
socket,如下
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
我假设 和 的值都ListenDatagram
指ListenStream
每个相应服务将被激活的端口,这两个不同命名的目的是什么?
答案1
请参阅systemd.socket手册页。对于互联网套接字来说,一个简单的数字确实是一个端口号,它们之间的区别是数据报意味着 udp,流意味着 tcp。
但是,当这些选项引用 Unix 域套接字时,它们也可以采用诸如 之类的值/my/file
,其区别如关联作者:Marko Kosmerl,即读取器是否可以看到来自写入器的数据包之间的边界。