在C語言中,使用socket函數創建和使用套接字(socket)的步驟如下:
#include <sys/types.h>
#include <sys/socket.h>
int sockfd = socket(domain, type, protocol);
其中,domain
是協議域,可以是AF_INET
(IPv4)或AF_INET6
(IPv6);type
是套接字類型,可以是SOCK_STREAM
(流式套接字,使用TCP)或SOCK_DGRAM
(數據報套接字,使用UDP);protocol
是協議,一般為0,表示使用默認協議。
int bind(int sockfd, const struct sockaddr *addr, socklen_t addrlen);
sockfd
是套接字文件描述符,addr
是地址信息(包括IP地址和端口號),addrlen
是地址信息的長度。
int listen(int sockfd, int backlog);
sockfd
是套接字文件描述符,backlog
是等待連接隊列的最大長度。
int accept(int sockfd, struct sockaddr *addr, socklen_t *addrlen);
sockfd
是套接字文件描述符,addr
是指向存儲客戶端地址信息的結構體指針,addrlen
是指向存儲客戶端地址信息長度的整型指針。
int connect(int sockfd, const struct sockaddr *addr, socklen_t addrlen);
sockfd
是套接字文件描述符,addr
是服務器地址信息,addrlen
是地址信息的長度。
ssize_t send(int sockfd, const void *buf, size_t len, int flags);
ssize_t recv(int sockfd, void *buf, size_t len, int flags);
sockfd
是套接字文件描述符,buf
是指向數據緩沖區的指針,len
是數據長度,flags
是標志位。
int close(int sockfd);
sockfd
是套接字文件描述符。
以上是使用socket函數創建和使用套接字的基本步驟,具體使用時需要根據具體需求進行調用。