Linux是目前最流行的开源操作系统,网络功能在linux下占有核心的地位,Linux网络编程指的是socket套接字API编程。下面就来介绍socket套接字编程的常用API。
一、服务器端API(被动socket)
1、socket()函数
#include <sys/types.h> #include <sys/socket.h> int socket(int domain, int type, int protocol);
2、bind()函数
#include <sys/types.h> #include <sys/socket.h> int bind(int sockfd, const struct sockaddr *addr, socklen_t addrlen);
3、listen()函数
#include <sys/types.h> #include <sys/socket.h> int listen(int sockfd, int backlog);
4、accept()函数
#include <sys/types.h> #include <sys/socket.h> int accept(int sockfd, struct sockaddr *addr, socklen_t *addrlen);
二、客户端API(主动socket)
1、socket()函数
#include <sys/types.h> #include <sys/socket.h> int socket(int domain, int type, int protocol);
2、connect()
#include <sys/types.h> #include <sys/socket.h> int connect(int sockfd, const struct sockaddr *addr, socklen_t addrlen);
三、发送和接收数据API
1、read()函数
#include <unistd.h> ssize_t read(int fd, void *buf, size_t count);
2、write()函数
#include <unistd.h> ssize_t write(int fd, const void *buf, size_t count);
3、send()函数
#include <sys/types.h> #include <sys/socket.h> ssize_t send(int sockfd, const void *buf, size_t len, int flags);
4、recv()函数
#include <sys/types.h> #include <sys/socket.h> ssize_t recv(int sockfd, void *buf, size_t len, int flags);