使用windows套接字進行網路程式設計

2021-07-14 15:31:09 字數 1048 閱讀 2069

winsock通過提供基於標準可互操作性,使使程式設計師得以採用更高層次的協議和應用程式,比如ftp、http、rpc和com。winsock是在windows進行網路通訊程式設計的api介面,也是windws網路程式設計的事實標準。在網路程式設計中最常用的方案便是客戶機/伺服器模型。

winsock api是通過乙個dll(ws2_32.dll)來支援,這個dll可通過將程式與ws2_32.lib鏈結來訪問。這個dll需要使用乙個非標準的、windows專用函式----wsastartup來初始化,而且這必須是程式呼叫的第乙個winsock函式。

wsacleanup必須在程式不再需要使用winsock功能是呼叫。(wsa字首表示:windows套接字非同步.....)

wsastartup和wascleanup可能是我們需要使用的唯一的兩個非標準函式,但它們是必須的。wsastartup(),本函式必須是應用程式或dll呼叫的第乙個windows sockets函式.它允許應用程式或dll指明windows sockets api的版本號及獲得特定windows sockets實現的細節.應用程式或dll只能在一次成功的wsastartup()呼叫之後才能呼叫進一步的windows sockets api函式.

wsadata結構體被用來儲存被

wsastartup

函式呼叫

後返回的

windows sockets

資料。它包含

winsock.dll

執行的資料。

#includeint wsastartup ( word wversionrequested, lpwsadata lpwsadata );
wversionrequested windows sockets api提供的呼叫方可使用的最高版本號.高位位元組指出副版本(修正)號,低位位元組指明主版本號。通常可使用makeword巨集,於是,makeword(2,0)代表版本2.0。

lpwsadata 指向wsadata資料結構的指標,用於返回dll的配置資訊,接收windows sockets實現的細節.

使用wsagetlasterror可用於獲取錯誤資訊。

5 使用套接字進行讀寫

傳送資料 write send 和 sendmsg。ssize t write int socketfd,const void buffer,size t size ssize t send int socketfd,const void buffer,size t size,int flags s...

套接字是什麼意思 05 使用套接字進行讀寫

連線建立的根本目的是為了資料的收發。拿我們常用的網購場景舉例子,我們在瀏覽商品或者購買貨品的時候,並不會察覺到網路連線的存在,但是我們可以真切感覺到資料在客戶端和伺服器端有效的傳送,比如瀏覽商品時商品資訊的不斷重新整理,購買貨品時顯示購買成功的訊息等。首先來看一下傳送資料 傳送資料時常用的有三個函式...

Windows 套接字實現通訊

一 客戶機 伺服器模式 在tcp ip網路中兩個程序間的相互作用的主機模式是客戶機 伺服器模式 client server model 該模式的建立基於以下兩點 1 非對等作用 2 通訊完全是非同步的。客戶機 伺服器模式在操作過程中採取的是主動請示方式 首先伺服器方要先啟動,並根據請示提供相應服務 ...