基于arm-linux的web服务器构建
本人现在在做linux上构建一个web服务器,就是将网页放在这个服务器上,然后接入internet可以上网访问即可。有一定c与汇编的基础,linux是初学,对于网络方面也...
本人现在在做linux上构建一个web服务器,就是将网页放在这个服务器上,然后接入internet可以上网访问即可。有一定c与汇编的基础,linux是初学,对于网络方面也是初学,已经看了一些相关的http协议等,但是实际编程上还是有些模糊,希望有心人能教教俺,最好能给出服务器和客服端的程序做参考说明,这是我的邮箱:op7445535@163.com
先谢过了。。。
我用的是redhat9,我想采用socket方法来编写服务器程序,所以希望回答最好能给出典型的代码和说明,谢谢。。 展开
先谢过了。。。
我用的是redhat9,我想采用socket方法来编写服务器程序,所以希望回答最好能给出典型的代码和说明,谢谢。。 展开
力控科技
2024-08-19 广告
2024-08-19 广告
ForceSCADA是力控科技信创产品的重要组成部分,具备完全自主知识产权,支持部署在Linux桌面版、服务器版、嵌入式等系统架构下。使用ForceSCADA可以搭建创新性高、扩展性佳、融合度强的SCADA平台,进而构建高效、智能化的监控中...
点击进入详情页
本回答由力控科技提供
展开全部
知道http头是什么样的吗?
HTTP/1.1 200 OK
Content-Type:text/html
也就是说你回给浏览器的头信息是这样的。
后边的是你网站的信息。
比如一个最简单的网站里边的信息就是TEST
HTTP/1.1 200 OK
Content-Type:text/html
Test
就行了。
代码:
------------------------------------------
#include <string.h>
#include <stdio.h>
#include <arpa/inet.h>
#include <sys/socket.h>
#include <unistd.h>
#include <stdlib.h>
#define LINE 2048
struct sockaddr_in tcpsock;
void *handle_tcp(void *arg)
{
int tcpfd = *((int *)arg);
int tcpcon;
int n;
char *suc = "success";
socklen_t len = 0;
struct sockaddr_in tcpcli;
listen(tcpfd, 20);
char str[INET_ADDRSTRLEN];
char buf[LINE];
while(1)
{
len = sizeof(tcpcli);
tcpcon = accept(tcpfd, (struct sockaddr*)&tcpcli, &len);
sprintf(buf, "HTTP/1.1 200 OK\nContent-Type:text/html\nTest");
write(tcpcon, buf, strlen(buf));
}
}
int main(void)
{
int tcpfd;
tcpfd = socket(PF_INET, SOCK_STREAM, 0);
int ret;
bzero(&tcpsock, sizeof(tcpsock));
tcpsock.sin_port = htons(8000);
tcpsock.sin_family = PF_INET;
tcpsock.sin_addr.s_addr = htonl(INADDR_ANY);
bind(tcpfd, (struct sockaddr*)&tcpsock, sizeof(tcpsock));
printf("waitting message......................\n");
if((ret = pthread_create(&tcP, NULL, handle_tcp, (void*)&tcpfd)) != 0)
{
fprintf(stderr, "can't create tcp thread:%s\n", strerror(ret));
exit(1);
}
while(1);
return 0;
}
程序功能一有个连接,就返回个test这个页面给浏览器。
http://127.0.0.1:8000
这个是浏览器中的格式
我没去编译 不过的话再找我
我qq230635800
HTTP/1.1 200 OK
Content-Type:text/html
也就是说你回给浏览器的头信息是这样的。
后边的是你网站的信息。
比如一个最简单的网站里边的信息就是TEST
HTTP/1.1 200 OK
Content-Type:text/html
Test
就行了。
代码:
------------------------------------------
#include <string.h>
#include <stdio.h>
#include <arpa/inet.h>
#include <sys/socket.h>
#include <unistd.h>
#include <stdlib.h>
#define LINE 2048
struct sockaddr_in tcpsock;
void *handle_tcp(void *arg)
{
int tcpfd = *((int *)arg);
int tcpcon;
int n;
char *suc = "success";
socklen_t len = 0;
struct sockaddr_in tcpcli;
listen(tcpfd, 20);
char str[INET_ADDRSTRLEN];
char buf[LINE];
while(1)
{
len = sizeof(tcpcli);
tcpcon = accept(tcpfd, (struct sockaddr*)&tcpcli, &len);
sprintf(buf, "HTTP/1.1 200 OK\nContent-Type:text/html\nTest");
write(tcpcon, buf, strlen(buf));
}
}
int main(void)
{
int tcpfd;
tcpfd = socket(PF_INET, SOCK_STREAM, 0);
int ret;
bzero(&tcpsock, sizeof(tcpsock));
tcpsock.sin_port = htons(8000);
tcpsock.sin_family = PF_INET;
tcpsock.sin_addr.s_addr = htonl(INADDR_ANY);
bind(tcpfd, (struct sockaddr*)&tcpsock, sizeof(tcpsock));
printf("waitting message......................\n");
if((ret = pthread_create(&tcP, NULL, handle_tcp, (void*)&tcpfd)) != 0)
{
fprintf(stderr, "can't create tcp thread:%s\n", strerror(ret));
exit(1);
}
while(1);
return 0;
}
程序功能一有个连接,就返回个test这个页面给浏览器。
http://127.0.0.1:8000
这个是浏览器中的格式
我没去编译 不过的话再找我
我qq230635800
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询