我正在寻找通过Javascript Eventsource调用C对象(用于将文件从客户端复制到服务器)的可行性。
例如:
我有一个C-Client程序,可以执行如下:
./ client ip
执行上面的文件会 将文件从客户端计算机发送到在端口8888上运行的服务器。
服务器将在8888运行,将收到该文件,并将写入/ folder1 / receivedfile。
./ server ip
我需要在Javascript事件源中执行此操作。
Javascript代码示例:
如果(window.EventSource){
var source = new EventSource(“c-object”);
}其他{
//结果到xhr轮询:( xhttprequest
}
答案 0 :(得分:0)
这是可行的。你的第二行是这样的:
var source = new EventSource("http://myserver.example.com:8888/c-object");
当然,您的服务器必须运行HTTP协议。如果沿着这条路线走下去,请注意在不同的源上调用资源将需要所有CORS解决方法。在这种情况下,资源是c-object,而不同的来源是因为使用了不同的端口来提供HTML。
或者你可以使用Apache,并启动c-object作为cgi程序。然后它只需要在stdin / stdout上进行交互。
但是,退后一步,你确定它是EventSource
你想要的吗?如果您只是尝试向服务器发送信号以告知它复制文件,而不是接收任何数据,那么请使用正常的AJAX请求。 SSE用于服务器单向连续地向客户端传输数据。初始连接完成后,SSE无法向服务器发送任何内容。