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

2021-04-28 17:35:16 字數 4205 閱讀 2965

1樓:龔煒林

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

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

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

2樓:匿名使用者

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庫就可以了。

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

3樓:南瓜蘋果

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

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

4樓:四舍**入

1、標頭檔案 winsock2.h,

2、靜態庫檔案 ws2_32.lib

3、動態dll檔案 ws2_32.dll

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

5樓:對抗a範越

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

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

h裡面的。

6樓:匿名使用者

winscok2.h

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

7樓:匿名使用者

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庫就可以了。

8樓:匿名使用者

我覺得是你的概念不清:

1、什麼是

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

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

直接使用就可以了。

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

9樓:匿名使用者

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

10樓:匿名使用者

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

c語言開發中,linux下的多執行緒和網路程式設計基礎,這些都有什麼用處?做什麼工作會用這多執行緒和socket呢?

11樓:匿名使用者

socket,主要是在網路開發應用中運用的到,多執行緒,在linux開發中單程序中可以建立多執行緒去處理不同的任務。

12樓:匿名使用者

這個很常用的。主要做網路方面的。網路產品一般都會有用到:比如 路由器 ap ac等等吧。

13樓:

多執行緒程式設計和socket是開發網路產品的基本功,把《unix網路程式設計》看會就可以做一般的開發了。

學c語言會用到socket網路程式設計,那它是什麼意思

14樓:處搖胼手胝足

socket是個套接字功能元件,用於編寫通訊程式。c語言包羅永珍,什麼都會用到,只是你會不會用而已。

c語言socket高併發網路程式設計 20

15樓:嚴肅一點不要笑

這不是兩三句話可以搞定的啊,建議你複製一下把問題發到shx.io 這個**,那邊工程師比較多,應該能幫到你

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

16樓:那拉向露蠻立

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庫就可以了。

17樓:章佳海融虎友

我覺得是你的概念來

不清:自

1、什麼是純c?

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

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

直接使用就可以了。

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

在linu下用c語言做嵌入式開發一般用什麼ide開發工具

linux下,一般都是用的是編輯器 vi 寫 寫make編譯器 gcc 不用說了吧偵錯程式 gdb 要用到方便的圖形介面的ide呢用eclipse cdt gcc gdb 配置開發環境有點麻煩,不過只要配置好呢開發效率都幾不錯的.找到在windows下開發的感覺.用eclipse cdt,makef...

linu裡面編寫c語言用什麼軟體好用翱

vi emacs有很多命令不適合新手,下個netbeans,ide很適合新手,類似於vs,vc 入門書籍當然是unix發明人寫的 the c programming language 很經典。用vim nano等程式編寫 用gcc編譯連結,然後在shell中執行,通過gdb除錯 也可以用netbea...

linu下程式設計什麼語言用的多,linux下程式設計什麼語言用的多

c是linux的 母語 不過寫qt圖形程式這種情況下,c 是首選 qt庫是c 寫的 c c 以外,要算一類指令碼語言最多,如shell python perl ruby等等 linux下指令碼能力很強,寫出來的程式也是不錯的 所有程式語言幾乎都可以用,儘管沒c語言那麼廣。python 現在很火 僅排...