2012-06-15 23 views
1

我想看看是否有可能在g-wan服務器和ruby之間交換數據,但我需要實現一個機架適配器。我可以在Ruby中編寫一個,但我需要使用C,因爲g-wan API在C(或Java)中。有沒有任何文件可以做到這一點? Rack有C API嗎?如何用C寫一個機架適配器

+2

請注意,從v3.10開始,G-WAN支持Ruby servlet,輕鬆解決您的問題=) – Gil

回答

2
  1. 你可以從你的紅寶石打開OS管和一些數據寫入到它,然後在C程序中接受它。
  2. 可以在C中爲Ruby編寫擴展。只需在Internet上搜索有關此主題的資源即可。
  3. 使用JRuby,它運行在JVM上並允許使用任意的jar。另外,它非常好,並且擁有強大的社區。
+0

是的,但我該如何爲Rack編寫適配器,教程在哪裏?我認爲管道不是一個好主意,G-WAN是多線程的。可能這件事對我來說太大了,但是必須有一個起點。 – rtacconi

+0

[閱讀此文](http://intridea.com/posts/rack-middleware-and-applications-whats-the-difference)簡要介紹Rack應用程序。所有你需要的是一個具有單個'call(env)'實例方法的類應用程序。你可以使用像'rb_define_class'這樣的函數完全在C中完成這個類,參考[this question](http://stackoverflow.com/questions/1542520/how-can-i-call-c-functions-from-within-ruby )。你也可以用Ruby編寫它(更優雅),但是在某些時候你必須使用這些C函數來準備Ruby適配器到這個API。 – skalee

相關問題