2012-11-03 57 views
2

我在pharo中製作一個項目,將它擴展並使其更加可視化,以進一步擴展3D應用程序Blender。 Blender主要使用python來進行名爲「Addons」的擴展,準確地說是python 3.2。所以我想要在pharo(smalltalk)和blender(python)之間架起一座橋樑。爲python和smalltalk之間的溝通搭建橋樑

現在我已經專注於套接字和XMLRPC,但我想知道是否有工具和選擇來進一步幫助我的傳奇。

我沒有很高的要求,現在簡單的訪問類屬性和python方法的調用應該足夠了,但是如果我以後可以給我的橋添加額外的功能,它會好得多。理想情況下,後面的橋可以用來製作pharo使用其他語言如Java,C#等的庫。

+1

SmallTalk是我最喜歡的語言之一,但很久以前,當我有一個使用SmallTalk的項目時:)它是VisualAge SmallTalk :)認爲最好的方法是使用套接字進行通信,這將允許這兩個應用程序工作在不同的電腦上這是一個很大的優勢。 – Reflective

回答

1

在Smalltalk和Python之間發送JSON消息的WebSockets可能是最新的,但是長期而言相當有前景。 Smalltalk有很好的WebSockets支持,我想也是Python。

+1

爲什麼網絡套接字,當你可以使用普通套接字?普通套接字更容易,這不是一個Web應用程序... –

+0

WebSockets通過端口80上的防火牆,因爲它們是從常規HTTP連接升級而來的。 WebSockets還通過在普通套接字逐字節地發送/接收時適當地組幀來發送/接收消息。 –

1

記得ruby-> dotNet的橋,據我記得它被移植到一些Smalltalk中你可能會發現一些有趣的信息和想法。 (Ruby/.Net Bridge/2004 Benjamin Schroeder和John R. Pierce)。它包括傳遞例外,回調等。可能會爲您的工作提供一個良好的起點。不過,不知道在哪裏以及如何獲得它。

0

我認爲這將是一個完美的意義,有一個Java API,而不是Java。我相信這並不難。我相信很多人都做到了。其中之一是http://cgchan.com/suicidator/。如果你下載它,你會發現它在python和suicidator的java實現之間有一個「smallish」python橋樑,坐在SCG.jar中,以及包中包含的其他jar。我只是尋找一個開源的實現,而不是黑客攻擊代碼,並嘗試對他們所做的工作進行逆向工程。