2012-05-25 49 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」,因此它在進程列表中脫穎而出。 –