在windows下,如何用純C語言實現socket網路程式設計

2021-04-28 17:35:15 字數 4165 閱讀 6435

1樓:那拉向露蠻立

mfc只是對socket進行了一些bai

封裝du,大部分人做

網路編zhi程

都是用dao

的原始的socket,比如如下介面都可版以在權c下進行呼叫1.socket()

2.bind()

3.connect()

4.listen()

5.accept()

6.send()

和recv()

7.sendto()

和recvfrom()

8.close()

和shutdown()

9.getpeername

()10.

gethostname

()這些介面是在winsock2.h中定義的不是在mfc中定義的,你只需要包含winsock2.h

標頭檔案和

ws2_32.lib庫就可以了。

2樓:章佳海融虎友

我覺得是你的概念來

不清:自

1、什麼是純c?

windows下的純c,我還沒有見過。很多都和posix的要求不一致。

2、要是說使用c語言介面,就很簡單,windowsapi基本上都是c語言相容介面。

直接使用就可以了。

純c基本上是理論模型,沒辦法用。vc、gcc等都是c語言的方言。

在windows下,如何用純c語言實現socket網路程式設計?

3樓:匿名使用者

mfc只是對socket進行了一bai

些封裝,大部分du人做網zhi絡程式設計都是用的原dao始的socket,比如如下介面都可專以在c下進行呼叫

1.socket()

2.bind()

3.connect()

4.listen()

5.accept()

6.send() 和recv()

7.sendto() 和recvfrom()8.close() 和shutdown()9.getpeername()

10.gethostname()

這些介面是在winsock2.h中定義的不是在mfc中定義的,屬你只需要包含winsock2.h標頭檔案和ws2_32.lib庫就可以了。

4樓:匿名使用者

我覺得是你的概念不清:

1、什麼是

純c?windows下的純c,我還沒有見過。很多都和posix的要內求不一致。

2、要是說容使用c語言介面,就很簡單,windows api基本上都是c語言相容介面。

直接使用就可以了。

純c基本上是理論模型,沒辦法用。vc、gcc等都是c語言的方言。

5樓:匿名使用者

使用 vc 吧。是不是純很重要嗎??????

6樓:匿名使用者

那你要自己實現tcp/ip協議??

在windows下用c語言如何實現socket網路程式設計,需要用到哪些標頭檔案或者庫? 10

7樓:南瓜蘋果

需要用到的標頭檔案包含:

#include

#include

與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

擴充套件資料

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);比起載入,解除安裝的函式真是輕鬆愉快。

8樓:四舍**入

1、標頭檔案 winsock2.h,

2、靜態庫檔案 ws2_32.lib

3、動態dll檔案 ws2_32.dll

我們可以簡單的把socket理解為一個可以連通網路上不同計算機程式之間的管道,把一堆資料從管道的a端扔進去,則會從管道的b端(也許同時還可以從c、d、e、f……端冒出來)。管道的埠由兩個因素來唯一確認,即機器的ip地址和程式所使用的埠號。

9樓:對抗a範越

主要是看採取什麼樣的協議。是tcp還是udp使用的標頭檔案是不一樣的。不過差別都不大。

winscok2.h就夠用了。不過往深了走其實還是要涉及到其他的,這個普通的套接字程式設計主要是winscok2.

h裡面的。

10樓:匿名使用者

winscok2.h

怎樣用c語言做socket網路程式設計?

11樓:匿名使用者

mfc只是對socket進行了一些封裝,大部分人做網路程式設計都是用的原始的socket,比如如下介面都可以在c下進行呼叫

1.socket()

2.bind()

3.connect()

4.listen()

5.accept()

6.send() 和recv()

7.sendto() 和recvfrom()8.close() 和shutdown()9.getpeername()

10.gethostname()

這些介面是在winsock2.h中定義的不是在mfc中定義的,你只需要包含winsock2.h標頭檔案和ws2_32.lib庫就可以了。

通過socket實現網路程式設計的主要過程是什麼?

12樓:匿名使用者

bai發,一般採用socket開發。

du它分zhi服務dao器和客戶端。伺服器端流程:

1、建立服內務器套接容

字---分配記憶體、初始化

2、伺服器套接字--偵聽

3、建立與客戶端配套的客戶端套接字

4、與客戶端通訊(可以多客戶端)

5、關閉、銷燬伺服器端相應套接字

----------------

客戶端:

1、建立客戶端套接字---分配記憶體、初始化2、連線伺服器

3、與伺服器通訊

4、關閉、銷燬客戶端套接字

----------------

13樓:無邪是王道

socket——套接字~網路間的程序是靠這個套接字進行通訊~

在程式設計時會用到的內函式:socket()

14樓:匿名使用者

先去看書吧孩子,《unix網路程式設計(卷1:套接字)(卷2:程序間通訊)》

linux下c語言用socket網路程式設計怎麼計算傳輸速度? 15

15樓:龔煒林

這要你的通來信程式協商一自個協議,比如定bai義一個通訊結構du體,傳檔案的時候zhi,一開始傳送結構體的資訊dao過去,告訴對端你的檔案總大小,然後,傳輸過程中,統計已經收到或者傳送的資料,做個除法就得到速率了。

具體這類協商,你可以自己隨便想,也可以借鑑現有的比較好的一些設計,有些考慮斷點續傳的技術,還有壓縮的,看你**也不需要考慮吧。

如何用c語言在linu下通過socket實現建立服務

不用多執行緒 最簡單的服務端用個while死迴圈就行了。給你一個 epoll模型的。傳不上去 你留個 在linux下用c語言寫個socket,一個伺服器,十個客戶端。多給點分,寫完就給你貼上來 伺服器用多執行緒,lpthread,其他的不說了linux和windows都可以的自己修改下,不用c 就用...

c語言,在windows下取檔案建立時間的問題

使用 findfirst函式或 findnext函式檢索磁碟上的檔案能獲取相關資訊,其中就包含建立日期。long findfirst const char finddata t long findnext const long,finddata t findfirst函式用一個檔名來啟動一次檢索,同...

在c 中如何用new生成建構函式帶引數的類陣列

1.如下 include include using namespace std class foo foo private int id int main 第一種方法 cout endl 第二種方法 use b for size t i 0 i 2 i cout endl 這估計就是你要的了,和第...