我們正在開發C語言的DDP服務器(不要問爲什麼 - 我們只需要)。我們注意到Meteor使用SockJS來實現其DDP協議。雖然有些庫允許我在C中使用網絡套接字,但我還沒有找到C的任何SockJS庫。C中的DDP服務器
SockJS庫似乎相當廣泛,並且由於沒有關於它如何操作的規範,這聽起來像是一種非常脆弱的方法來嘗試對其技巧進行逆向工程。
它讓我想知道最好的策略是讓我們支持DDP。還有我能想到的幾個選項:
- 我可以導入V8發動機,並使用它的C++和JavaScript實現之間的橋樑(然後我可能暴露到C相對容易)
- 我可以用SockJS庫X用於語言Y,並使用Python/C/JNI/...與該接口連接
- 也許我可以強制Meteor只使用web套接字(DDP文檔似乎暗示這是可能的,但我無法確定如何)。
如果可能,選項3將是最少的努力,但會繼承WebSockets(瀏覽器互操作性,公司防火牆等)的問題。
選項1和2是可行的,但我必須包括的庫的大小感覺與我將使用的功能不成比例。
考慮到上述情況,似乎沒有一個完美的解決方案。不過,我想驗證上述選項的可行性,並知道我是否錯過了一些東西。另外,如果有人嘗試過,我很樂意聽到它。
DDP的[分佈式數據協議](https://en.wikipedia.org/wiki/Distributed_Data_Protocol),DDP的[數據報傳送協議](https://en.wikipedia.org/wiki/Datagram_Delivery_Protocol),還是其他一些DDP? – duskwuff
如何開始? http://stackoverflow.com/questions/27224164/etablish-ddp-connection-between-meteor-server-and-c-app –
JD_GRINDER - 我已經注意到這個問題,但請注意它涉及到DDP客戶端,而不是服務器。但是,從客戶的角度來看,Meteor的DDP實現確實只支持Web套接字。我想知道的是,Meteor客戶端JS庫是否可以與只能提供Web套接字的服務器一起使用。 –