2013-10-11 148 views
0

我正在尋找通過Javascript Eventsource調用C對象(用於從客戶端複製文件到服務器)的可行性。用C客戶端服務器程序的Javascript服務器端事件

例:

我具有可以如下執行的C-客戶端程序:

./client IP

上述文件執行將 從客戶機發送文件機器到服務器端口8888運行。

服務器將運行在8888將接收該文件並將寫入/ folde R1/receivedfile。

./server IP

我需要這樣做的JavaScript事件源。

Javascript代碼例如:

如果(window.EventSource){
VAR源=新的EventSource( 「C-對象」);
}其他{
//結果XHR輪詢:(xhttprequest
}

回答

0

這是可行的你的第二個行會是這樣的:

var source = new EventSource("http://myserver.example.com:8888/c-object"); 

你的服務器必須運行HTTP協議當然,如果沿着這條路線走,請注意,調用資源不同的原點將需要所有的CORS解決方法。資源是c對象,而不同的來源是因爲使用不同的端口來提供HTML。

或者你可以使用Apache,並啓動c-object作爲cgi程序。然後它只需要在stdin/stdout上進行交互。

但是,退後一步,你確定它是EventSource你想要嗎?如果您只是試圖向服務器發送一個信號來告訴它複製文件,而不是接收任何數據,那麼請使用正常的AJAX請求。 SSE用於服務器向客戶端單向傳輸數據。初始連接完成後,SSE無法向服務器發送任何內容。

+0

我使用不使用apache或nginx的自定義web服務器。事件源不是強制性的,我也可以嘗試其他選項。我只是想上傳一個文件從客戶端到服務器純粹基於JavaScript沒有PHP,Java,閃存等。 –