加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

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

发布时间:2020-12-13 14:17:35 所属栏目:Linux 来源:网络整理
导读: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(ser

<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 OKrnServer: TaornContent-Type: text/html; charset=utf-8rnContent-Leng</span>

th: %drnrn%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">%sn<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">;
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读