接收數據

接收數據

在數據通信網中,按一種鏈路協議的技術要求連接兩個或多個數據站的電信設施,稱為數據鏈路,簡稱數據鏈。所謂“鏈路協議”,是指建立、保持和釋放一個邏輯數據鏈路以及經由鏈路傳送數據的一組規則。數據是要通過一定的物理媒體如電話線、微波或光纜傳輸的。

簡介


接收數據與發送數據一樣容易。下面是recv()函數的函數定義:
intrecv(intsocket,char*buffer,intlen,intflags);
你可能已經看到了,這些參數與send()函數中的參數是一樣的,因此可以類似於下面這樣來調用它:
charbuffer[128];
intreceived;
received=recv(datasock,buffer,128,0);
這創建一個足夠容納128位元組數據的緩衝區,然後就等待數據流入。需要注意的是,這一函數在接收滿128位元組數據之前就可能返回,它最多只接收128位元組,因此不必擔心緩衝區溢出
同樣,如果函數執行失敗,則返回-1。表2.9列出了此函數的錯誤代碼。

數據鏈路


數據鏈路包括傳輸的物理媒體、鏈路協議、有關設備以及有關計劃機程序。但不包括提供數據的功能設備(即數據源)和接收數據的功能設備。數據鏈路是根據不同的用途與特定的需求研製的,不同的數據鏈路有其相應的標準與編號,例如,美軍有link11、link12等多種數據鏈路。不同的數據鏈路,可用於作戰飛機之間及與地面、艦艇之間,衛星與地面、飛機、艦艇之間,地面與艦艇及艦艇與艦艇之間的數據通信。在未來的化戰場上,數據鏈路作為信息基礎設施的重要組成部分,將廣泛應用於航天器、飛機、艦船、地面武器等平台及C(U3)I系統的數據通信網。