網路程式設計第一章總結 下

2021-10-11 10:57:52 字數 2239 閱讀 8303

在使用windows進行socket網路程式設計之前,需要先配置所需要的ws2_32.lib。

配置:屬性 -> 配置屬性 -> 輸入 -> 附加依賴項中新增ws2_32.lib

在winsock程式設計時,首先需要呼叫wasatartup函式來設定winsock版本,並初始化相應的庫。

int

wsastartup

(word wversionrequested, lpwsadata lpwsadata)

;

wversopmrequested:指需要用到的winsock版本資訊。lpwsadata:wsadata結構體變數的位址值。wodr是typedef宣告定義的unsigned short型別(若版本為1.2,則1表示主版本號,2表示副版本號,應傳遞0x0201,使用2.2版本應傳遞0x0202)

exam:

int

main

(void

)

int

wsacleanup

(void

);

成功返回0,失敗則返回socket_error。一般在程式結束之前呼叫。

socket socket

(int af,

int type,

int protocal)

;

成功返回套接字控制代碼,失敗則返回invalid_socket。

bind函式在windows和linux中相同

int

bind

(socket s,

const

struct sockaddr * name,

int namelen)

;

成功返回0,失敗則返回socket_error。

listen函式在windows和linux中相同。

int

listen

(socket s,

int backlog)

;

成功返回0,失敗返回socket_error。

accept在windows和linux中相同。

socket accept

(socket s,

struct sockaddr * addr,

int* addrlen)

;

成功返回控制代碼,失敗返回invalid_socket。

connect在windows和linux下相同。

int

connect

(socket s,

const

struct sockaddr * name,

int namelen)

;

成功返回0,失敗返回socket_error。

在windows下需要自己關閉socket連線,需要用到closesocket函式。

int

closesocket

(socket s)

;

成功返回0,失敗返回socket_error。

linux中將套接字也當作檔案,所以無論是建立檔案還是套接字都是返回檔案描述符。而在windows中則需要區分檔案控制代碼和socket控制代碼。由於linux中套接字也是檔案,所以可以直接通過檔案i/o函式read和write來進行資料傳輸,而windows中則不同,windows中嚴格區分檔案i/o和套接字i/o。所以windows進行資料傳輸需要用到send和recv函式。

使用send函式進行資料的傳輸。

int

send

(socket s,

const

char

*buf,

int len,

int flags)

;

使用recv函式接受資料。

int

recv

(socket s,

const

char

* buf,

int len,

int flags)

;

成功返回接收的位元組數,如果到eof返回0,失敗返回socket_error。

s:套接字;buf:資料緩衝;len:最大位元組數;flags:接受多種選項資訊。

網路程式設計第一章總結 上

套接字分為客戶端套接字和服務端的套接字,客戶端套接字主要包含socket和connect兩個函式,而伺服器端主要有socket bind listen和accept四個函式 socket生成套接字 int socket int domain,int type,int protocol 成功時返回檔案...

TCP IP 網路程式設計 第一章

服務端 第一步 呼叫socket函式建立套接字 第二步 呼叫bind函式分配ip位址和埠號 第三步 呼叫listen函式轉為可接聽狀態 第四步 呼叫accept函式受理可接聽狀態 include include include include include include void error h...

第一章,程式設計原理總結

大型程式問題 問題說明 程式設計 資料結構的選擇 演算法分析 測試和驗證 程式正確性 維護 c 要點 c 允許收據抽象 c 支援物件導向設計 c 便於 重用及通用目的庫的構造 c 改進了c語言幾個麻煩和危險的方面 c 保持了作為c語言特點的效率。程式設計風格 程式設計技術規則 指導原則 1在每個函式...