TCP IP相關函式

2021-07-24 09:59:36 字數 1917 閱讀 4845

1.socket

函式原型:int socket(int domain,int type,int protocol)

函式作用:建立乙個新的socket套接字

函式引數:domain:建立何種位址型別;af_inet,ipv4的 網路協議

af_inet6,ipv6的網路協議

type:sock_stream;  tcp,面向資料流的

sock_dgram;   udp,使用不連續不可信賴的資料報

sock_raw;   提供原始網路協議

protocol:傳輸協議編號,設為0即可

返回值:成功返回socket套接字描述符,失敗返回-1

標頭檔案:#include

2.bind

函式作用:繫結ip位址

函式原型:int bind(int socket,struct sockaddr *my_addr,int addlen)

函式引數:socket:socket套接字描述符

my_addr:主機位址

addlen:sockaddr位址長度

標頭檔案:#include

#include

關於struct   sockaddr  my_addr結構體:

[cpp]view plain

copy

struct

sockaddr  

;  struct

sockaddr_in  

;  struct

in_addr    

3.connect

函式作用:建立socket連線的,通常客戶端連線伺服器使用

函式原型:int connect(int sockfd,struct sockaddr * serv_addr,int addlen)

函式引數:serv_addr:表示要連線的伺服器ip位址

addlen:struct socket 的長度

返回值:成功0,出錯-1

4.listen

函式作用:聆聽網路,等待連線

函式原型:int listen(int sockfd,int backlog)

函式引數:backlog:允許接入的客戶端數目

注意:listen並沒有連線,只是設定socket的設定格式,真正連線的是accept

返回值:成功0,出錯-1

5.accept

函式作用:接受網路連線,客戶端連線,三次握手在這個地方

函式原型:int accept(int sockfd,struct sockaddr *addr,int *addlen)

函式引數:addr:連線成功,填充遠端客戶端的位址

addlen:struct sockaddr的長度

返回值:成功返回新的sock_fd,失敗-1

6.send

函式作用:經過socket傳送資料,向對方傳送資料

函式原型:int send(int sock_fd,const void *msg,int len,unsigned int flags)

函式引數:sock_fd:accept建立起來的socket連線描述符,連線遠方的ip位址

msg:傳送的資料

len:資料長度

flags:設為0

返回值:成功返回實際傳送出去的位元組數,出錯-1

7.recv

函式作用:經過socket接收資料

函式原型:int recv(int sock_fd,void *buf,int len,unsigned int flags)

函式引數:sock_fd:accept建立起來的socket連線描述符,連線遠方的ip位址

buf:存放地在

len:接收資料最大長度

flags:設為0

返回值:成功返回實際接收出去的位元組數,出錯-1

TCP IP相關的網路程式設計函式

1.socket 函式原型 int socket int domain,int type,int protocol 函式作用 建立乙個新的socket套接字 af inet6,ipv6的網路協議 type sock stream tcp,面向資料流的 sock dgram udp,使用不連續不可信賴...

TCP IP 相關總結

1.三次握手協議 在tcp ip協議中,tcp協議提供可靠的連線服務,採用三次握手建立乙個連線。第一次握手 建立連線時,客戶端傳送syn包 syn j 到伺服器,並進入syn send狀態,等待伺服器確認 第二次握手 伺服器收到syn包,必須確認客戶的syn ack j 1 同時自己也傳送乙個syn...

tcp ip協議等相關知識

先扒一扒http協議背景?因為http協議是屬於tcp ip協議簇的,所以先簡單介紹下與http相關的tcp ip知識。tcp ip簡介。tcp ip四層模型。確保可靠性的tcp協議。傳送端在層與層之間傳輸資料時,每經過一層時必定會被打上乙個該層所屬的首部資訊。反之,接收端在層與層傳輸資料時,每經過...