CGI伺服器原理

2021-10-05 08:23:59 字數 1345 閱讀 5313

cgi伺服器原理

#include

#include

#include

#include

#include

#include

#include

intmain()

;struct sockaddr_in s_add, c_add;

unsigned

short portnum =

12345

;char ip=

"192.168.30.150"

;printf

("this is client\r\n");

cfd =

socket

(af_inet, sock_stream,0)

;if(-

1== cfd)

printf

("sokcet ok!\r\n");

bzero

(&s_add,

sizeof

(struct sockaddr_in));

s_add.sin_family = af_inet;

s_add.sin_addr.s_addr =

inet_addr

(ip)

; s_add.sin_port =

htons

(portnum);if

(-1==

connect

(cfd,

(struct sockaddr *)(

&s_add)

,sizeof

(struct sockaddr)))

printf

("connect ok!\r\n");

if(-1

==(recbytes =

read

(cfd, buffer,

1024))

)printf

("read ok:");

buffer[recbytes]

='\0'

;printf

("%s\r\n"

, buffer)

;printf

("press any key to quit");

getchar()

;close

(cfd)

;return0;

}

先關閉標準輸出檔案描述符stdout_fileno(其值是1),然後複製socket檔案描述符connfd,因為dup總是返回系統中最小的可用檔案描述符,所以他的返回值實際上是1,即之前關閉的標準輸出檔案描述符的值.這樣一來,伺服器輸出到標準輸出的內容就會直接傳送到與客戶端對應連線的socket

boa伺服器實現CGI功能

cgi 是web 伺服器執行時外部程式的規範,按cgi 編寫的程式可以擴充套件伺服器功能。cgi 應用程式能與瀏覽器進行互動,還可通過資料庫api 與資料庫伺服器等外部資料來源進行通訊,從資料庫伺服器中獲取資料。格式化為html文件後,傳送給瀏覽器,也可以將從瀏覽器獲得的資料放到資料庫中。幾乎所有伺...

Linux伺服器 apache支援cgi

apache支援cgi 1 開啟apache配置檔案httpd.conf,搜尋 cgi 找到下面的一段,去掉 addhandler 前面的 這樣就開啟了apache的cgi功能 2 cgi的目錄在 var www cgi bin 在這裡建立乙個測試檔案 test.cgi 輸入內容如下 root lo...

http伺服器與cgi互動過程

在處理cgi get 表單時,伺服器傳送給cgi程式是通過環境變數傳送的,並且get的表單內容存放在query string中,因此,在伺服器與cgi程式通訊之前,會先把get表單進行解析,並建立環境變數。同時,由於cgi程式是通過標準輸出向伺服器輸出資料,因此在通訊之前,還需要建立一條伺服器與cg...