[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"> FILE </span>*cin = fdopen(clnt_sock,<span style="color: #800000">"</span><span style="color: #800000">r</span><span style="color: #800000">"</span><span style="color: #000000">);
setbuf(cin,(</span><span style="color: #0000ff">char</span> *) <span style="color: #800080">0</span><span style="color: #000000">);
</span><span style="color: #0000ff">char</span> buf[<span style="color: #800080">1024</span><span style="color: #000000">];
fgets(buf,</span><span style="color: #800080">1024</span>,cin); <span style="color: #008000">//</span><span style="color: #008000">读取第一行</span>
printf(<span style="color: #800000">"</span><span style="color: #800000">n%s</span><span style="color: #800000">"</span><span style="color: #000000">,buf);
</span><span style="color: #0000ff">char</span> *html=<span style="color: #800000">"</span><span style="color: #800000">Hello Taoshihan </span><span style="color: #800000">"</span><span style="color: #000000">;
</span><span style="color: #0000ff">char</span> *result = <span style="color: #0000ff">malloc</span>(strlen(html) + strlen(buf) + <span style="color: #800080">1</span><span style="color: #000000">);
strcpy(result,html);
strcat(result,buf);
</span><span style="color: #800080">34</span>,<span style="color: #800080">7</span>-<span style="color: #800080">17</span><span style="color: #000000"> Top
</span><span style="color: #008000">//</span><span style="color: #008000">接收客户端请求</span>
<span style="color: #0000ff">struct</span><span style="color: #000000"> sockaddr_in clnt_addr;
socklen_t clnt_addr_size </span>= <span style="color: #0000ff">sizeof</span><span style="color: #000000">(clnt_addr);
</span><span style="color: #0000ff">int</span> clnt_sock = accept(serv_sock,buf);
</span><span style="color: #008000">//</span><span style="color: #008000">char *result=str_join(html,buf);</span>
<span style="color: #0000ff">char</span> res[<span style="color: #800080">1024</span><span style="color: #000000">];
</span><span style="color: #0000ff">char</span> str[] = <span style="color: #800000">"</span><span style="color: #800000">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">; } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |