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 通訊完全是非同步的。客戶機 伺服器模式在操作過程中採取的是主動請示方式 首先伺服器方要先啟動,並根據請示提供相應服務 ...