我正在功能齐全的LAMP服务器上创建一个数据记录器(实际上,它是Debian的骨干)。我想将此数据导入到客户端javascript中以绘制一些漂亮的图等。
为了创建日志文件,我每秒在cronjob中运行以下ANSI C程序:
struct md
{
unsigned long int time;
int ch0;
int ch1;
int ch2;
};
int main ()
{
struct md mydata;
/* assign values to mydata */
FILE *fp0=fopen("out.bin","ab");
fwrite(&mydata, sizeof(struct md), 1, fp0);
fclose(fp0);
exit (0);
}
您可能会猜到,文件out.bin很快就会很大。这就是为什么我不想将其存储为ASCII的原因。
我敢肯定,有一个简单的方法可以做到这一点,但是我没有找到解决方法……。
顺便说一句,我知道耐力问题。
最佳答案
您仍然需要向服务器上的文件发出ajax请求。
var oReq = new XMLHttpRequest();
oReq.open("GET", "/myfile.png", true);
oReq.responseType = "arraybuffer";
oReq.onload = function (oEvent) {
var arrayBuffer = oReq.response; // Note: not oReq.responseText
if (arrayBuffer) {
var byteArray = new Uint8Array(arrayBuffer);
for (var i = 0; i < byteArray.byteLength; i++) {
// do something with each byte in the array
}
}
};
oReq.send(null);
This document on mdn将对您有所帮助。