html - 无法在 C 网络服务器中加载图像
问题描述
我正在尝试通过 http 服务器运行网页,但无法加载图像。但是我可以加载文本和 HTML。请帮助我,因为我对此很陌生
截至目前,在 HTML 中,我刚刚添加了 HTTP/1.1 200 OK
这就是我在这里输入图像描述的内容
下面是 HTML 代码
HTTP/1.1 200 OK
<!DOCTYPE html>
<html>
<head>
<title>
JS QWERTY PAGE
</title>
</head>
<body>
<div style="display: flex;flex-wrap: wrap;align-items: center;height: 100vh;justify-content: center;">
<img src="LOGO.png">
</div>
</body>
</html>
下面是C代码
// Server side C program to demonstrate HTTP Server programming
#include <stdio.h>
#include <sys/socket.h>
#include <unistd.h>
#include <stdlib.h>
#include <netinet/in.h>
#include <string.h>
#define PORT 8080
int main(int argc, char const *argv[])
{
int server_fd, new_socket;
long valread;
struct sockaddr_in address;
int addrlen = sizeof(address);
// Only this line has been changed. Everything is same.
FILE *fp;
FILE *fimg;
int c, x;
char str[500];
char *ca;
fimg = fopen("LOGO.png", "rb");
fp = fopen("public.html", "rb");
fscanf(fp, "%[^`]", str);
printf("%s", str);
ca = str;
char *hello = str;
// Creating socket file descriptor
if ((server_fd = socket(AF_INET, SOCK_STREAM, 0)) == 0)
{
perror("In socket");
exit(EXIT_FAILURE);
}
address.sin_family = AF_INET;
address.sin_addr.s_addr = INADDR_ANY;
address.sin_port = htons(PORT);
memset(address.sin_zero, '\0', sizeof address.sin_zero);
if (bind(server_fd, (struct sockaddr *)&address, sizeof(address)) < 0)
{
perror("In bind");
exit(EXIT_FAILURE);
}
if (listen(server_fd, 10) < 0)
{
perror("In listen");
exit(EXIT_FAILURE);
}
while (1)
{
printf("\n+++++++ Waiting for new connection ++++++++\n\n");
if ((new_socket = accept(server_fd, (struct sockaddr *)&address, (socklen_t *)&addrlen)) < 0)
{
perror("In accept");
exit(EXIT_FAILURE);
}
char buffer[30000] = {0};
char chstring[40000];
valread = read(new_socket, buffer, 30000);
printf("%s\n", buffer);
/*printf("\nContent of File is:\n\n");
printf("%s", str); */
write(new_socket, hello, strlen(hello));
printf("------------------Hello message sent-------------------");
close(new_socket);
}
return 0;
}
解决方案
推荐阅读
- wordpress - 在 Google CloudSQL 上使用互连搜索替换 wordpress 迁移工具
- python - 即使未登录也打开页面,Django
- c# - 如何将多个 xaml 元素序列化为单个 xps 文件并打印 WPF 应用程序 c#
- java - 弱引用和自刷新缓存管理器
- javascript - 向下滚动时如何在顶部添加 20px
- javascript - 使用 REGEX 在节点 js 中提取 HTML 文档的文本
- html - 悬停时如何更改特定链接的文本或背景颜色?
- cakephp - CakePhp 3.5:在返回 false 的 beforeDelete() 中保存其他数据
- python - 登录在 django 上正常工作时,注册表单不起作用
- php - 将数值一插入表列而不是名称、电子邮件和位置