[linux] C语言Linux系统编程-socket开发响应HTTP协议

<div class="cnblogs_code">

#include <.h>.h> serv_sock = &serv_addr,,(serv_addr)); serv_addr.sin_family = AF_INET; serv_addr.sin_addr.s_addr = htonl(INADDR_ANY); serv_addr.sin_port = htons(); bind(serv_sock,( sockaddr*)&serv_addr, listen(serv_sock,( = clnt_sock = accept(serv_sock,( sockaddr*)&clnt_addr,& FILE </span>*cin = fdopen(clnt_sock,<span style="color: #800000"&gt;"</span><span style="color: #800000"&gt;r</span><span style="color: #800000"&gt;"</span><span style="color: #000000"&gt;); setbuf(cin,(</span><span style="color: #0000ff"&gt;char</span> *) <span style="color: #800080"&gt;0</span><span style="color: #000000"&gt;); </span><span style="color: #0000ff"&gt;char</span> buf[<span style="color: #800080"&gt;1024</span><span style="color: #000000"&gt;]; fgets(buf,</span><span style="color: #800080"&gt;1024</span>,cin); <span style="color: #008000"&gt;//</span><span style="color: #008000"&gt;读取第一行</span> printf(<span style="color: #800000"&gt;"</span><span style="color: #800000"&gt;\n%s</span><span style="color: #800000"&gt;"</span><span style="color: #000000"&gt;,buf); </span><span style="color: #0000ff"&gt;char</span> *html=<span style="color: #800000"&gt;"</span><span style="color: #800000"&gt;Hello Taoshihan </span><span style="color: #800000"&gt;"</span><span style="color: #000000"&gt;; </span><span style="color: #0000ff"&gt;char</span> *result = <span style="color: #0000ff"&gt;malloc</span>(strlen(html) + strlen(buf) + <span style="color: #800080"&gt;1</span><span style="color: #000000"&gt;); strcpy(result,html); strcat(result,buf); </span><span style="color: #800080"&gt;34</span>,<span style="color: #800080"&gt;7</span>-<span style="color: #800080"&gt;17</span><span style="color: #000000"&gt; Top </span><span style="color: #008000"&gt;//</span><span style="color: #008000"&gt;接收客户端请求</span> <span style="color: #0000ff"&gt;struct</span><span style="color: #000000"&gt; sockaddr_in clnt_addr; socklen_t clnt_addr_size </span>= <span style="color: #0000ff"&gt;sizeof</span><span style="color: #000000"&gt;(clnt_addr); </span><span style="color: #0000ff"&gt;int</span> clnt_sock = accept(serv_sock,buf); </span><span style="color: #008000"&gt;//</span><span style="color: #008000"&gt;char *result=str_join(html,buf);</span> <span style="color: #0000ff"&gt;char</span> res[<span style="color: #800080"&gt;1024</span><span style="color: #000000"&gt;]; </span><span style="color: #0000ff"&gt;char</span> str[] = <span style="color: #800000"&gt;"</span><span style="color: #800000"&gt;HTTP/1.1 200 OK\r\nServer: Tao\r\nContent-Type: text/html; charset=utf-8\r\nContent-Leng</span>

th: %d\r\n\r\n%s<span style="color: #800000">"<span style="color: #800000">;
<span style="color: #000000"> sprintf(res,str,strlen(result),result);
printf(<span style="color: #800000">"<span style="color: #800000">%s\n<span style="color: #800000">"<span style="color: #000000">,res);
write(clnt_sock,res,<span style="color: #0000ff">sizeof<span style="color: #000000">(res));
<span style="color: #008000">//<span style="color: #008000">关闭套接字
<span style="color: #000000"> close(clnt_sock);
}
close(serv_sock);
<span style="color: #0000ff">return <span style="color: #800080">0<span style="color: #000000">;
}

相关文章

/etc/sysctl.conf这个目录主要是配置一些系统信息,/etc/sys...
1.作用 useradd或adduser命令用来建立用户帐号和创建用户的起...
它们都是多模式编辑器,不同的是vim 是vi的升级版本,它不仅...
不管是我们在安装软件还是监测软件的使用性能,我们都要随时...
装好Tomcat7后,发现除了本机能访问外界访问不了,岂有此理。...
修改防火墙配置需要修改 /etc/sysconfig/iptables 这个文件,...