0

我正在寻找通过 Javascript Eventsource 调用 C 对象(用于将文件从客户端复制到服务器)的可行性。

前任:

我有一个 C-Client 程序,可以按如下方式执行:

./客户端IP

执行上述文件会将文件从客户端计算机发送到在端口 8888 上运行的服务器。

服务器将运行在 8888 将接收文件并将写入 /folder1/receivedfile。

./服务器IP

我需要在 Javascript 事件源中执行此操作。

Javascript代码示例:

if(window.EventSource){
var source =new EventSource("c-object");
}else{
// xhr 轮询的结果 :( xhttprequest
}

4

1 回答 1

0

这是可行的。您的第二行将是这样的:

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

当然,您的服务器必须运行 HTTP 协议。如果沿着这条路线走,请注意调用不同来源的资源将需要所有 CORS 解决方法。在这种情况下,资源是 c-object,不同的来源是因为使用了不同的端口来提供 HTML。

或者,您可以使用 Apache,并将 c-object 作为 cgi 程序启动。然后它只需要在标准输入/标准输出上进行交互。

但是,退后一步,你确定这是EventSource你想要的吗?如果您只是尝试向服务器发送信号以告诉它复制文件,而不接收任何数据,则使用普通的 AJAX 请求。SSE 是让服务器单向、连续地将数据流式传输到客户端。建立初始连接后,SSE 无法向服务器发送任何内容。

于 2013-11-19T00:13:23.697 回答