非常適合初級學習HTTP寫伺服器參考

2021-09-30 13:21:11 字數 1727 閱讀 7578



#include "winsock.h"

#include "stdlib.h"

#include "stdio.h"

#include "string.h"

#pragma comment(lib,"wsock32")///

所需的庫檔案

void

main()

intsock,csock,length;//sock

是伺服器端偵聽套接字,csock是客戶端連線套接字

length=sizeof(struct

sockaddr);

struct

sockaddr_in server_ipaddr,client_ipaddr;//

用來獲得伺服器和客戶端的位址資訊

memset(&server_ipaddr,0,length);

server_ipaddr.sin_family=af_inet;

server_ipaddr.sin_port=htons(80);

server_ipaddr.sin_addr.s_addr=inet_addr("211.81.55.200");

char

buff[4096];int

nbuff;

sock=socket(af_inet,sock_stream,ipproto_tcp);

///繫結

if(bind(sock,(struct

sockaddr *)&server_ipaddr,length)==socket_error)

偵聽 if(listen(sock,5)==socket_error)

/char

headers[1000];//

儲存頭部 /

頭部格式

隨便指定了乙個時間

wsprintf(headers, hdrfmt,(const

char*) strgmtnow, strlen(customhtml)); //

要傳送的網頁內容

char

customhtml=

"/r/n"

"/r/n"

"/r/n" "

"/r/n""結束

/r/n"

"/r/n"

"/r/n/r/n"; //

while(1)

nbuff=recv(csock,buff,4095,0);

buff[nbuff]='/0';

printf("%s",buff); /

傳送響應頭部

send(csock,headers,strlen(headers),0); /

傳送內容

send(csock,customhtml,strlen(customhtml),0); /

關閉本次連線

closesocket(csock); }

}

自己寫HTTP伺服器(一)http協議

在寫http伺服器之前,我們首先要來了解一下http協議 在講http協議之前,我們先來說說url 一 url url就是我們平時俗稱的 網際網路上的每個檔案都有乙個唯一的url,它包含的資訊指出檔案的位置以及瀏覽器應該怎麼處理它。基本url包含模式 或稱協議 伺服器名稱 或ip位址 路徑和檔名,如...

指向指標的指標 寫的非常好 適合0基礎菜鳥

在說指向指標的指標之前,不得不說指向變數的指標。先看如下示例 1.指向整型指標 先看如下示例 執行結果如下 我們先看下記憶體分配圖 由上圖可以清楚的知道,輸出整形變數a的值是5,指標變數p的值是001bfd18,而 號的作用是取值,p即取位址001bfd18中存放的值,即5。2.指向字元型指標 先看...

寫乙個http介面服務

主要要提供以下功能 1 可提供http介面通訊,實現服務端和客戶端的應答 2 通訊資料格式為json 3 可根據介面需求運算元據庫增刪改查 4 介面通訊過程日誌記錄 5 可與其他模組進行內部通訊 寫了以上內容後,開始考慮如何實現了。目前使用jdbctemplate實現對資料庫mysql的操作,但sp...