1、socket函式
函式的作用:建立乙個新的socket套接字
函式的原型:int socket(int domain,int type,int protocol)
type:sock_stream:tcp,面向資料流的;sock_dgram:udp,使用不連續不可信賴的資料報連線
protocol:傳輸協議編號,設為0即可
標頭檔案:#include
返回值:成功:返回socket套接字描述符;出錯:-1;
2、bind函式
函式的原型:int bind(int sockfd,struct sockaddr *my_addr,int addrlen)
引數:sockfd:socket套接字描述符
其中struct sockaddr_in
unsigned short int sin_family;
uint16_t sin_port;//埠號
struct in_addr sin_addr;//ip位址
unsigned char sin_zero[8];//未使用
struct in_addr
uint32_t s_addr;
標頭檔案:#include
#include
返回值:成功:0;出錯:-1
3、connect函式
函式的作用:建立socket連線,通常客戶端連線伺服器使用
函式的原型:int connect(int sockfd,struct sockaddr *serv_addr,int addrlen)
addrlen:struct sockaddr的長度
返回值:成功:0;出錯:-1
4、listen函式
函式的作用:聆聽網路,等待連線
函式的原型:int listen(int sockfd,int backlog)
引數:sockfd:描述符
backlog:允許接入的客戶端的數目
返回值:成功:0;出錯:-1;
注意:listen並沒有連線,只是設定socket的listen模式而已,真正連線的是accept
5、accept函式
函式的作用:接收網路連線,客戶端連線,三次握手在這個地方
函式的原型:int accept(int sockfd,struct sockaddr *addr,int *addrlen)
addrlen:struct sockaddr的長度
6、send函式
函式的作用:經過socket傳送資料;向對方傳送資料
函式的原型:int send(int sock_fd,void *msg,int len,int *addrlen)
返回值:成功:返回新的sock_fd;出錯:-1
7、recv函式
函式的作用:經過socket接收資料
函式的原型:int recv(int sock_fd,void *buf,int len,unsigned int flags)
函式的引數:sock_fd:accept以後的socket套接字描述符
len:接收資料的最大長度
返回值:成功:接收的位元組數;出錯:-1 等
網路程式設計 Socket 套接字
網路程式設計 目前較為流行的網路程式設計模型是客戶機 伺服器 c s 結構。即通訊雙方一方作為服務 器等待客戶提出請求並予以響應。客戶則在需要服務時向伺服器提出申請。伺服器一般作為 守護程序始終執行,監聽網路埠,一旦有客戶請求,就會啟動乙個服務程序來響應該客 戶,同時自己繼續監聽服務埠,使後來的客戶...
網路程式設計socket套接字
socket 建立乙個socket,主動套介面。bind 繫結ip和埠號到socket,需先配置ip 埠號。connect 客戶機 client 端和伺服器傳送請求建立連線。listen 伺服器 serv 監聽client傳送的請求。accept 完成連線,阻塞響應。sendto 傳送資料 recv...
網路程式設計 Socket套接字
網路程式設計 目前較為流行的網路程式設計模型是客戶機 伺服器結構。即通訊雙方一方作為伺服器等待客戶提出請求並予以響應,客戶則在需要服務時提出申請。伺服器一般作為守護程序始終執行,監聽網路埠,一旦由客戶請求,就會啟動乙個服務程序來響應該客戶,同時自己監聽服務埠,使後來的客戶也能及時的得到服務。在int...