2017-09-14 82 views
7

我想使用Unix套接字与mpv进行通信,但Perl   6不提供任何高级接口来做到这一点。所以我想我可以为此编写一个小模块,开始深入挖掘,找到了IO::Socket::INET的实现,并了解了NQP ops nqp::socketnqp::connect有没有办法处理Perl 6中的Unix套接字?

但是,我找不到任何提及那些在NQP operations list,他们似乎是非常不同于传统的BSD套接字API。因此,我想问一下:那两个能够创建一个Unix套接字并连接到它?如果是这样,怎么样?或者也许还有另一种方式?

回答

2

我认为现在最好的方法是使用NativeCall接口来调用C语言函数。有一些旧的设计文档提出了IO :: Socket :: UNIX的想法。但是它并没有被纳入语言规范的当代版本(但是)。

+3

谢谢,我通过使用Perl 5中的'IO :: Socket :: UNIX',通过'Inline :: Perl5'的方式解决了这个问题。我只是想知道是否有本地解决方案。 – Ramillies

+1

我一直在计划添加管道和unix套接字,但这需要mo ha黑客(这不是很微不足道)。 –

+0

@Ramillies很高兴为你工作得很好。 C API上的NativeCall将成为更原生的解决方案。 C函数看起来几乎与Perl 5 API相同,因此可能不会太可怕。 –

相关问题