考虑/var/run/acpid.socket
。在任何时候,我都可以连接到它并从中断开连接。将其与nc
:
$ nc -l -U ./myunixsocket.sock
Ncat: bind to ./myunixsocket.sock: Address already in use. QUITTING.
nc
显然只允许一次性使用的套接字。那么问题是,我如何创建一个类似于 的套接字以/var/run/acpid.socket
供多次使用和重用?
考虑/var/run/acpid.socket
。在任何时候,我都可以连接到它并从中断开连接。将其与nc
:
$ nc -l -U ./myunixsocket.sock
Ncat: bind to ./myunixsocket.sock: Address already in use. QUITTING.
nc
显然只允许一次性使用的套接字。那么问题是,我如何创建一个类似于 的套接字以/var/run/acpid.socket
供多次使用和重用?
您可以
-k
选择nc
.例子:
建议
unlink()
在使用后对套接字进行——但实际上,大多数程序会在调用它之前bind()
检查它是否存在并删除它;如果文件系统中存在套接字路径并且您尝试访问它,即使没有程序以任何方式使用它bind()
,您也会收到错误消息。EADDRINUSE
在 linux 上避免这种混乱的一种方法是使用“抽象” unix 套接字,但它们似乎不受
netcat
.