经过一些研究,我发现在Linux上,Tcl根本不支持Unix域套接字。
在没有Unix数据报套接字的情况下,对于类Unix系统,Tcl中基于可靠本地消息的多对一通信的本机(*)替代方案是什么?纯文本通信的限制是可以接受的。
即使在本地使用,UDP也不可靠。 TCP不是基于消息的,Tcl不提供TCP_NODELAY
选项。管道只是一对一的。 FIFO具有较差的异步语义,并且(与管道类似)只是一对一的。 SysV消息队列缺少poll()
支持,但Tcl也不支持。我经历了所有常用的替代方案,但未能找到在Tcl中实现Unix套接字角色的内容。
(*)我找到了ceptcl
,一个外部模块,但它既不是Tcl的一部分,也不与任何Linux发行版捆绑在一起。因此,这不是一个可接受的选择。