详解 Android 中的微型云
2010-02-22 16:05:00 来源:WEB开发网核心提示:<head><title>"); apname; strcat(mainbuf, "</title></head>"); strcat(mainbuf, "<body><h3>
<head>
<title>");
apname;
strcat(mainbuf, "</title> </head> ");
strcat(mainbuf, "<body> <h3>");
apname;
strcat(mainbuf, "</h3> ");
strcat(mainbuf, "<a href=\"/About_\">About</a><br> ");
strcat(mainbuf, "<a href=\"/Home_\">Home</a><br> ");
strcat(mainbuf, "<hr> ");
strcat(mainbuf, "Dir: ");
strcat(mainbuf, theDir);
strcat(mainbuf, "<br> <hr> <pre> ");
strcat(mainbuf, data);
strcat(mainbuf, " </pre> ");
strcat(mainbuf, "</body> </html> ");
}
void htmlout(int fd, char* data)
{
fstr=mimes[0].mimetype;
sprintf(mainbuf, "HTTP/1.0 200 OK Content-Type: %s ", fstr);
ret=write(fd, mainbuf, strlen(mainbuf));
buildbuf(data);
ret=write(fd, mainbuf, strlen(mainbuf));
}
void error404(int fd)
{
fstr=mimes[0].mimetype;
sprintf(mainbuf, "HTTP/1.0 404 OK Content-Type: %s ", fstr);
ret=write(fd, mainbuf, strlen(mainbuf));
buildbuf("404 Error - File not found!");
ret=write(fd, mainbuf, strlen(mainbuf));
}
apname;
strcat(mainbuf, "</title> </head> ");
strcat(mainbuf, "<body> <h3>");
apname;
strcat(mainbuf, "</h3> ");
strcat(mainbuf, "<a href=\"/About_\">About</a><br> ");
strcat(mainbuf, "<a href=\"/Home_\">Home</a><br> ");
strcat(mainbuf, "<hr> ");
strcat(mainbuf, "Dir: ");
strcat(mainbuf, theDir);
strcat(mainbuf, "<br> <hr> <pre> ");
strcat(mainbuf, data);
strcat(mainbuf, " </pre> ");
strcat(mainbuf, "</body> </html> ");
}
void htmlout(int fd, char* data)
{
fstr=mimes[0].mimetype;
sprintf(mainbuf, "HTTP/1.0 200 OK Content-Type: %s ", fstr);
ret=write(fd, mainbuf, strlen(mainbuf));
buildbuf(data);
ret=write(fd, mainbuf, strlen(mainbuf));
}
void error404(int fd)
{
fstr=mimes[0].mimetype;
sprintf(mainbuf, "HTTP/1.0 404 OK Content-Type: %s ", fstr);
ret=write(fd, mainbuf, strlen(mainbuf));
buildbuf("404 Error - File not found!");
ret=write(fd, mainbuf, strlen(mainbuf));
}
清单 7 展示了微型云如何返回具有指定 MIME 类型的文件内容。注意,浏览器如何要求将从服务器发送的 MIME 类型作为 Content-Type: 字符串。只需要单击由云生成的链接,就将调用该函数来返回文件的内容。然而,如果在浏览器的地址栏编辑了一个错误的文件名,那么 error404 函数(在前面定义)将向用户通知这一错误。
清单 7. 返回文件内容
|