導航:首頁 > 編程語言 > windows網路編程c語言

windows網路編程c語言

發布時間:2025-01-17 23:22:32

A. 在windows下用C語言如何實現socket網路編程,需要用到哪些頭文件或者庫

需要用到的頭文件包含:

#include <winsock2.h>

#include <windows.h>

與Linux環境下socket編程相比,windows環境多了一個步驟:啟動或者初始化winsock庫

Winsock,一種標准API,一種網路編程介面,用於兩個或多個應用程序(或進程)之間通過網路進行數據通信。具有兩個版本:

Winsock 1:

Windows CE平台支持。

頭文件:WinSock.h

庫:wsock32.lib

Winsock 2:

部分平台如Windows CE貌似不支持。通過前綴WSA可以區別於Winsock 1版本。個別函數如WSAStartup、WSACleanup、WSARecvEx、WSAGetLastError都屬於Winsock 1.1規范的函數;

頭文件:WinSock2.h

庫:ws2_32.lib

mswsock.h用於編程擴展,使用時必須鏈接mswsock.dll

(1)windows網路編程c語言擴展閱讀

winsock庫的載入與卸載:

載入:int WSAStartup(WORD wVersionRequested, LPWSADATA lpWSAData);

載入成功,返回值為0。

WORD wVersionRequested:載入的winsock版本,使用宏MAKEWORD(x, y),x表示高位元組,y表示低位元組。然而使用時MAKEWORD(2, 2)。高位元組與低位元組相同~~

LPWSADATA lpWSAData:WSADATA結構的指針,傳入參數後,系統幫助我們填充版本信息。有興趣的可以看看結構體內容,不過基本用不著。

卸載:int WSACleanup(void);比起載入,卸載的函數真是輕松愉快。

B. 我想自學windows內核編程以及C語言網路編程(之前完全沒接觸過),已經掌握C、C++,應該如何入手

《windows核心編程》距離windows內核編程還差得遠啦,《windows核心編程》是一本講述windows應用程序開發的書。你真正需要掌握的是操作系統方面的知識,例如怎麼樣創建一個線程、創建一個進程、如何遍歷文件夾,控制他們的訪問許可權,內存映射等。

然後開始看操作系統方面的書,比如《操作系統 : 精髓與設計原理(原書第6版) 》,《現代操作系統(原書第3版)》這樣有一定理論深度的書,這些理論的書沒有代碼,但你在看的時候也要想想這些東西是怎麼實現的。

有了一定的基礎之後,可以開始看內核編程方面的書,例如潘愛民寫的《windows內核原理與實現》,再高級一點的看毛德操寫的《Windows內核情景分析》,最權威的當然還是《深入解析Windows操作系統》,然後你就可以深入windows內核編程了。不過提醒你就是這3本的難度在《windows核心編程》之上,要花好多年功夫,寫好多萬行代碼,泡好多個論壇看別人的貼子,看很多別人博客,好多別的輔助讀物,才能都看懂。樓主要量力而行。

網路編程的話,windows方面我也不知道哪本書好,我真心推薦《UNIX網路編程》(1,2卷)和《UNIX環境高級編程》。

C. c語言的網路編程特點有哪些(在線等待,答得好馬上給分!)

1、你說得用C語言開發網路程序,一定指的是在WIN/UNIX/LINUX/SOLARIS/FreeBSD等多進程/多線程操作系統下的編程,網路編程是基於B/S或者C/S架構的,無論那種,S都需要有多線程或者子進程的處理與客戶端通信的能力,DOS下的C是不具備這個能力。另外,網路程序是對操作系統多線程/多進程能力要求很高的應用,所以UNIX下的C編程能很好的滿足要求。
2、網路編程只要遵從一種協議,語言是沒有限定的,比較各種語言編寫的網路應用的特點,歸根結底還是回到這種語言已經它存在的操作系統的特點。相比與其他語言開發的網路程序,用UNIX/SOKCET/C這種模式開發的網路應用能最大限度的利用系統資源,同時兼備UNIX的穩定性和C的高效率,是大型網路應用經常採用的方式,例如著名的freeBSD,大量的論壇都是這樣的方式。很多網路應用,離開UNIX和C,在重連接負荷的情況下是無法工作的。
3、但是由於高效與通用是一對矛盾,UNIX/C開發的網路應用,比較靠近系統底層,代碼的可移植性、可重用性相對於使用winsock編程的WINDOWS/C++方案的網路應用要差一些,windows的MFC已經對網路協議做了很多層的封裝,使用C++來繼承可以節省大量開發時間。
4、結論,如果你想開發自己全新的網路應用/協議,並且要承擔很重的用戶訪問負荷,那麼你可以用C,而且操作系統要用UNIX/LINUX,如果你僅僅希望用已經成熟的internet協議寫一些界面漂亮的網路應用,推薦你用WINDOWS/C++方式。

閱讀全文

與windows網路編程c語言相關的資料

熱點內容
c盤壓縮文件可以刪除嗎 瀏覽:992
單片機鍵盤分類 瀏覽:389
手機app怎麼老是進不去 瀏覽:954
安卓游戲玩模擬器用什麼手柄 瀏覽:31
退出at模式命令 瀏覽:941
php供求平台源碼 瀏覽:132
命令sm 瀏覽:43
福建集群伺服器雲主機 瀏覽:317
安卓手機怎麼把2g切換為4g 瀏覽:457
在健康青島App掛號怎麼查詢 瀏覽:269
普通人上網用的是什麼伺服器 瀏覽:453
python安裝了找不著 瀏覽:181
常微分第三版答案pdf 瀏覽:264
安卓機qq怎麼開懸浮窗 瀏覽:63
備孕三年了怎麼緩解壓力大 瀏覽:743
登錄阿里雲伺服器黑屏 瀏覽:336
匿名元組Python 瀏覽:726
華為運動健康存儲的文件夾 瀏覽:522
cad正多邊形命令 瀏覽:461
壓縮比150能加97油嗎 瀏覽:399