2012-05-25 45 views

回答

3

我不认为你可以用Socket库来做到这一点。在对socket()(您需要AF_LOCAL)的调用中,原语具有AF_INET硬编码。此外,无法设置struct sockaddr_unsun_path字段传递给connect()

它看起来像你将不得不使用FFI或编写自己的插件。

3

实际上,新的SocketPlugin原语允许访问所有套接字系列,而不仅仅是AF_INET。我知道AF_INET6除AF_INET之外肯定可以,我几乎可以肯定它也可以做所有其他的。我不知道,Pharo可能缺乏访问这些原语的新的图像内代码。但例如Squeak Etoys在OLPC XO机器上使用它们来执行IPv6网状网络。

+0

酷!有没有新的基元,还是旧的基元增强?多久以前?我有相当近期(〜1个月)godious来源,例如,sqSocketCreateNetTypeSocketTypeRecvBytesSendBytesSemaIDReadSemaIDWriteSemaID硬编码INET和失败,如果类型是TCP或UDP –

+0

谢谢伯特。这些原始图像是否有吱吱声?我尝试了最新的etoys图像,但由于缺少'吱吱'的可执行文件而无法打开它(为什么Squeak不在etoys中?)。 –

+0

Damien:如果您指的是http://squeakland.org/download/中的Etoys-To-Go,那么包含etoys.sh脚本应该运行良好。有一个Squeak虚拟机,我们只是将二进制文件重命名为“etoys”,因此它在进程列表中脱颖而出。 –