當前位置:首頁 » 網頁前端 » c簡單web伺服器
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c簡單web伺服器

發布時間: 2022-09-06 17:54:39

『壹』 C#編寫一個web伺服器,推薦一個教程

要寫WEB伺服器嗎?最好不要用C#,一般WINDOWS平台下的WEB伺服器是用C/C++來做的。另外,你要做這個東西最應該弄懂的不是語言,是HTTP協議或者WEB伺服器的實現原理,找一些開源的代碼看一看吧,貌似APACHE的開源項目還可以。太高深的咱水平有限就幫不了了。

『貳』 Web伺服器配置方法教程

伺服器是一種高性能計算機,作為網路的節點,存儲、處理網路上80%的數據、信息,因此也被稱為網路的靈魂。那麼該如何配置Web伺服器呢?如果你不知道,請看我整理的Web伺服器配置方法詳解吧!

2、單擊窗口中的“添加/刪除Windows組件”圖標,彈出“Windows組件向導”對話框。

3、選中“向導”中的“應用程序伺服器”復選框。單擊“詳細信息”按鈕,彈出“應用程序伺服器”對話框。

4、選擇需要的組件,其中“Internet信息服務(IIS)”和“應用程序伺服器控制台”是必須選中的。選中“Internet信息服務(IIS)”後,再單擊“詳細信息”按鈕,彈出“Internet信息服務(IIS)”對話框。

5、選中“Internet信息服務管理器”和“萬維網服務”。並且選中“萬維網服務”後,再單擊“詳細信息”按鈕,彈出“萬維網服務”對話框。

6、其中的“萬維網服務”必須選中。如果想要伺服器支持ASP,還應該選中“Active Server Pages”。逐個單擊“確定”按鈕,關閉各對話框,直到返回圖1的“Windows組件向導”對話框。

7、單擊“下一步”按鈕,系統開始IIS的安裝,這期間可能要求插入Windows Server 2003安裝盤,系統會自動進行安裝工作。

8、安裝完成後,彈出提示安裝成功的對話框,單擊“確定”按鈕就完成了IIS的安裝。

友情提示:如果想要同時裝入FTP伺服器,在“Internet信息服務(IIS)”對話框中應該把“文件傳輸協議(FTP)服務”的復選框也選中。

在IIS中創建Web網站

打開“Internet 信息服務管理器”,在目錄樹的“網站”上單擊右鍵,在右鍵菜單中選擇“新建→網站”,彈出“網站創建向導”:

網站描述就是網站的名字,它會顯示在IIS窗口的目錄樹中,方便管理員識別各個站點。本例中起名為“枝葉的網站”。

網站IP地址:如果選擇“全部未分配”,則伺服器會將本機所有IP地址綁定在該網站上,這個選項適合於伺服器中只有這一個網站的情況。也可以從 下拉式列表框中選擇一個IP地址(下拉式列表框中列出的是本機已配置的IP地址,如果沒有,應該先為本機配置IP地址,再選擇。)

TCP埠:一般使用默認的埠號80,如果改為其它值,則用戶在訪問該站點時必須在地址中加入埠號。

主機頭:如果該站點已經有域名,可以在主機頭中輸入域名。

主目錄路徑是網站根目錄的位置,可以用“瀏覽”按鈕選擇一個文件夾作為網站的主目錄。

網站訪問許可權是限定用戶訪問網站時的許可權,“讀取”是必需的,“運行腳本”可以讓站點支持ASP,其它許可權可根據需要設置。

單擊“下一步”,彈出“完成向導”對話框,就完成了新網站的創建過程,在IIS中可以看到新建的網站。把做好的網頁和相關文件復制到主目錄中,通常就可以訪問這個網站了。

訪問網站的方法是:如果在本機上訪問,可以在瀏覽器的地址欄中輸入“http://localhost/”;如果在網路中其它計算機上訪問,可以在瀏覽器的地址欄中輸入“http://網站IP地址”。

說明:如果網站的TCP埠不是80,在地址中還需加上埠號。假設TCP埠設置為8080,則訪問地址應寫為“http://localhost:8080/”或“http://網站IP地址:8080”。

網站的基本配置

如果需要修改網站的參數,可以在“網站名字”上單擊右鍵,在右鍵菜單中選擇“屬性”,可以打開“網站屬性”對話框。

1、“網站”標簽

“網站標識”:可以設置網站名字、IP地址、埠號。單擊“高級”按鈕可以設置主機頭名。

2、“主目錄”標簽

在本地路徑中可以設置主目錄的路徑名和訪問許可權。

3、“文檔”標簽

默認文檔是指訪問一個網站時想要打開的默認網頁,這個網頁通常是該網站的主頁。如果沒有啟用默認文檔或網站的主頁文件名不在默認文檔列表中,則訪問這個網站時需要在地址中指明文件名。

默認文檔列表中最初只有4個文件名:Default.htm、Default.asp、index.htm和Default.aspx。我用 “添加”按鈕加入了一個index.asp,並用“上移”按鈕把它移到了頂部。這主要是因為我的網站的主頁名為“index.asp”,所以應該把它加入 列表,至於是否位於列表頂部倒是無關緊要的。

經過以上配置,一個Web網站就可以使用了。把製作好的網頁復制到網站的主目錄中,網站主頁的文件名應該包含在默認文檔中。打開瀏覽器,在地址欄中輸入“http://本機IP地址”,就可以打開網站的主頁。其它頁面可以用網頁中的超鏈接打開。

虛擬目錄

虛擬目錄可以使一個網站不必把所有內容都放置在主目錄內。虛擬目錄從用戶的角度來看仍在主目錄之內,但實際位置可以在計算機的其它位置,而且虛擬目錄的名字也可以與真實目錄不同。如:

圖中用戶看到的一個位於主目錄下的文件夾“pic”,它的真實位置在伺服器的“D:myimage”處,而主目錄位於“C:mywww” 處。假設該網站的域名是“www.abc.com”,則用戶訪問“http://www.abc.com/pic/文件1”時,訪問的實際位置是伺服器的 “D:myimage文件1”,所以虛擬目錄的真實名字和位置對用戶是不可知的。

創建虛擬目錄的方法

打開 Internet 信息服務窗口,在想要創建虛擬目錄的 Web 站點上 單擊右鍵,選擇“新建”→“虛擬目錄”。彈出虛擬目錄創建向導:

別名是映射後的名字,即客戶訪問時的名字;

路徑:伺服器上的真實路徑名,即虛擬目錄的實際位置;

訪問許可權:指客戶對該目錄的訪問許可權。

單擊“下一步”按鈕,彈出完成對話框,虛擬目錄就建立成功了。把相關文件復制到虛擬目錄中,用戶就可以按照虛擬的樹形結構訪問到指定文件了。

通常虛擬目錄的訪問許可權、默認文檔等都繼承自主目錄,如果需要修改,可在“Internet 信息服務管理器”中的虛擬目錄上單擊右鍵,選擇“屬性”,就可以修改虛擬目錄的參數設置了。

補充:伺服器介紹

伺服器,也稱伺服器,是提供計算服務的設備。由於伺服器需要響應服務請求,並進行處理,因此一般來說伺服器應具備承擔服務並且保障服務的能力。

伺服器的構成包括處理器、硬碟、內存、系統匯流排等,和通用的計算機架構類似,但是由於需要提供高可靠的服務,因此在處理能力、穩定性、可靠性、安全性、可擴展性、可管理性等方面要求較高。

在網路環境下,根據伺服器提供的服務類型不同,分為文件伺服器,資料庫伺服器,應用程序伺服器,WEB伺服器等。

相關閱讀:伺服器常見問題有哪些

1.系統藍屏、頻繁死機、重啟、反映速度遲鈍

伺服器的與我們平常電腦不論是硬體結構還是運行系統,都是極其類似的。因此,就如同我們的電腦一樣,一樣可能會感染病毒,同樣會因為系統漏洞、軟體沖突、硬體故障導致死機、藍屏、重啟等故障,同樣會因為垃圾緩存信息過多而導致反應遲鈍。

2.遠程桌面連接超出最大連接數

由於伺服器默認為允許連接數為2個,如果登陸後忘記注銷,而是直接關閉遠程桌面的話,伺服器識別此次登陸還是留在伺服器端的。出現這種情況,最常見的就是重啟伺服器,但是,如果是高峰期,重啟伺服器帶來的損失是顯而易見的。那麼此時,就可以利用mstsc/console指令進行強行登陸了。打開“運行”框,鍵入“mstsc/v:xxx.xxx.xxx.xxx(伺服器IP)/console”,即可強行登陸到遠程桌面了。

3.無法刪除的文件該怎麼清理

遇到這種情況,可能是該文件還在運行中,可以重啟刪之,或者運行CMD,輸入arrtib-a-s-h-r想要刪除的文件夾名,最後輸入del想要刪除的文件夾名即可刪除,運行該命令後無法恢復,請慎用。

4.系統埠隱患

對於伺服器來說,首要保障穩定性和安全性。因此,我們僅需保證伺服器最基本的功能即可,就像音效卡都是默認禁止的。我們並不需要太多的功能,也不需要太多的埠支持。像一些不必要,而且風險較高的埠大可封掉。而一些必要的,又有風險的埠,比如:3389、80等埠,我們可以通過修改注冊表的方法將其設置不特殊的秘密埠,這樣伺服器埠的安全隱患就不復存在了。

『叄』 有沒有用C或c++寫的web伺服器

C++單獨作為應用服務的伺服器較少,http伺服器有一些的。比如IIS、apache、nginx,d都是基於C/C++的web伺服器,國產的有數蠶web伺服器,完全使用C++,基於Linux epoll模型。
如果C++服務端要求簡單,可以直接基於socket編寫。如果通信場景復雜,建議使用成熟的C++網路庫,如POCO、cpp-net、boost-asio、數蠶網路通信庫。

『肆』 如何用c語言實現基於http的webservice

package com.yun.test;
import java.rmi.RemoteException;
import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
import org.apache.axis.message.PrefixedQName;
import org.apache.axis.message.SOAPHeaderElement;
import com.cezanne.golden.user.Exception;
import com.cezanne.golden.user.UserManagerServiceProxy;
import javax.xml.namespace.QName;
import java.net.MalformedURLException;
import javax.xml.rpc.ServiceException;
import javax.xml.soap.Name;
import javax.xml.soap.SOAPException;
public class testWebService {
public static String getResult() throws ServiceException, MalformedURLException, RemoteException, SOAPException
{
//標識Web Service的具體路徑
String endpoint = "WebService服務地址";
// 創建 Service實例
Service service = new Service();
// 通過Service實例創建Call的實例
Call call = (Call) service.createCall();
//將Web Service的服務路徑加入到call實例之中.
call.setTargetEndpointAddress( new java.net.URL(endpoint) );//為Call設置服務的位置
// 由於需要認證,故需要設置調用的SOAP頭信息。
Name headerName = new PrefixedQName( new QName("發布的wsdl里的targetNamespace里的url", "string_itemName") );
org.apache.axis.message.SOAPHeaderElement header = new SOAPHeaderElement(headerName);
header.addTextNode( "blablabla" );
call.addHeader(header);

// SOAPHeaderElement soapHeaderElement = new SOAPHeaderElement("發布的wsdl里的targetNamespace里的url", "SoapHeader");
// soapHeaderElement.setNamespaceURI("發布的wsdl里的targetNamespace里的url");
// try
// {
// soapHeaderElement.addChildElement("string_itemName").setValue("blablabla");
// }
// catch (SOAPException e)
// {
// e.printStackTrace();
// }
// call.addHeader(soapHeaderElement);
//調用Web Service的方法
org.apache.axis.description.OperationDesc oper;
org.apache.axis.description.ParameterDesc param;
oper = new org.apache.axis.description.OperationDesc();
oper.setName("opName");
param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "arg0"), org.apache.axis.description.ParameterDesc.IN, new javax.xml.namespace.QName(", "string"), java.lang.String.class, false, false);
param.setOmittable(true);
oper.addParameter(param);
param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "arg1"), org.apache.axis.description.ParameterDesc.IN, new javax.xml.namespace.QName(", "string"), java.lang.String.class, false, false);
param.setOmittable(true);
oper.addParameter(param);
param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "arg2"), org.apache.axis.description.ParameterDesc.IN, new javax.xml.namespace.QName(", "string"), java.lang.String.class, false, false);
param.setOmittable(true);
oper.addParameter(param);
oper.setReturnType(new javax.xml.namespace.QName(", "string"));
oper.setReturnClass(java.lang.String.class);
oper.setReturnQName(new javax.xml.namespace.QName("", "return"));
oper.setStyle(org.apache.axis.constants.Style.WRAPPED);
oper.setUse(org.apache.axis.constants.Use.LITERAL);
oper.addFault(new org.apache.axis.description.FaultDesc(
new javax.xml.namespace.QName("發布的wsdl里的targetNamespace里的url", "Exception"),
"Exception",
new javax.xml.namespace.QName("發布的wsdl里的targetNamespace里的url", "Exception"),
true
));
call.setOperation( oper );
call.setOperationName(new javax.xml.namespace.QName("發布的wsdl里的targetNamespace里的url", "opName"));
//調用Web Service,傳入參數
String res = ( String ) call.invoke( new Object[]("arg0","arg1"));
System.out.println("===============");
return res;
}
/**
* @param args
*/
public static void main(String[] args) {
try {
System.out.println(getResult());
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (RemoteException e) {
e.printStackTrace();
} catch (ServiceException e) {
e.printStackTrace();
} catch (SOAPException e) {
e.printStackTrace();
}
}
}

『伍』 常用的web伺服器軟體有哪些

1.IIS

IIS是英文Internet Information Server的縮寫,譯成中文就是"Internet信息服務"的意思。它是微軟公司主推的伺服器,最新的版本是Windows2008裡麵包含的IIS 7,IIS與Window Server完全集成在一起,因而用戶能夠利用Windows Server和NTFS(NT File System,NT的文件系統)內置的安全特性,建立強大,靈活而安全的Internet和Intranet站點。

2.ApacheApache

ApacheApache在世界上的排名是第一的,它可以運行在幾乎所有廣泛使用的計算機平台上。Apache源於NCSAhttpd伺服器,經過多次修改,不僅簡單、速度快、而且性能穩定,還可以用來做代理伺服器。

3.Nginx

Nginx不僅是一個小巧且高效的HTTP伺服器,也可以做一個高效的負載均衡反向代理,通過它接受用戶的請求並分發到多個Mongrel進程可以極大提高Rails應用的並發能力。

4.Zeus

Zeus是一個運行於Unix下的非常優秀的Web Server,據說性能超過Apache,是效率最高的Web Server之一。

5.Sun

Sun的Java系統Web伺服器也就是以前的Sun ONE Web Server。主要出現在那些運行Sun的Solaris操作系統的關鍵任務級Web伺服器上。它最新的版本號是6.1,可以支持x86版本Solaris,Red Hat Linux,HP-UX 11i, IBM AIX,甚至可以支持Windows,但它的大多數用戶都選擇了SPARC版本的Solaris操作系統。

『陸』 c語言寫的web伺服器,用什麼函數可以切斷特定的ip地址的連接

int close(int fd);
close(client_socket);close(server_socket);

『柒』 簡單Web伺服器程序設計與實現

web伺服器本質就是輸出文本,文本內容為html等網頁標記語言。明白了這一點,會socket開發就完全可以自己定義一個web伺服器出來

『捌』 如何用c語言在windows環境下實現簡單的web伺服器

用C語言開發WEB,可以用C++BUILDER6,稱ISAPI,一般人可能做不起來,有點麻煩;
唯一是速度很快,別人看不到源碼,掌握了編程套路,也可以開發應用;
缺點:
1。不是解釋性語言,做的WEB調試非常麻煩;現在做WEB開發的,用C#、JAVA較多;都是解釋性的語言;
2。因為是.DLL的二進制代碼,一般商業網站不給予運行的環境,因為網站伺服器會被你可能搞癱,安全性得不到保障;所以,你得自備網頁伺服器;
3。得不到技術支持,因為沒幾個人會這種開發;

『玖』 web伺服器有哪些

目前主流web伺服器有三個:apache、IIS、nginx。
其中apache是開源的老牌伺服器,多用於傳統業務,其優點是系統穩定,擴展模塊豐富,各種特性支持完整,並且跨平台。
IIS是微軟主力打造的web伺服器,目前作為Windows系統組件一部分,和微軟上層web開發(asp.net)應用介面緊密。
nginx是開源的後起之秀,是俄羅斯開發的一款用於高並發服務的web伺服器,主要應用於高並發網站、靜態伺服器、下載伺服器等,其優點是性能更高,支持負載均衡,反向代理。
國產web伺服器主要有:
Tengine:是淘寶開發團隊基於nginx修改的,優化了資源請求的web伺服器,其特點繼承nginx,並針對資源請求做了優化。
數蠶web伺服器:是數蠶科技基於c++的Linux下的web伺服器,主要用於靜態頁面和簡單的計算型服務網站。其特點是支持高並發,支持多進程,c++/c介面良好,支持直接基於C++模板開發。