码迷,mamicode.com
首页 > 系统相关 > 详细

linux网络编程相关函数

时间:2015-11-07 18:53:49      阅读:324      评论:0      收藏:0      [点我收藏+]

标签:

network:

struct sockaddr
{
sa_falimy_t sa_family; //协议族
char sa_data[14]; //协议族数据
};

struct sockaddr_in
{
u8 sin_len; //sockaddr_in的长度,16
u8 sin_family; //协议族
u16 sin_port; //端口
struct in_addr sin_add; //ip地址,32位
char sin_zero[8] //未用
}

int socket(int family, int type, int protocol)
参数:
family :协议族,常用AF_INET(IPV4)
type :套接字类型,常用SOCK_STREAM(字节流)
protocol:协议类型,一般为0(tcp)
返回值:
fd:套接字描述符 函数调用成功:非负整数 失败:-1

int bind(int socked, const struct sockaddr *my_addr, socklen_t addrlen)
参数:
sockfd :套接字描述符
my_addr :aockaddr指针,内含ip和port
addrlen :sizeof(struct sockaddr)
返回值:
0 :成功
-1:失败

int listen(int socked, int backlog)
参数:
socked :套接字描述符
backlog :排队的最大连接个数
返回值:
0 :成功
-1:失败

int accept(int socked, struct sockaddr *addr, socklen_t *addrlen)
参数:
socked :套接字描述符
addr :客户端sock信息
addrlen :客户端sock结构长度
返回值:
fd :新客户端链接的套接字描述符

int connect(int socked, struct sockaddr *addr, int addrlen)
参数:
socked :套接字描述符
addr :sock信息
addrlen:sock长度
返回值:
0 :成功
-1:失败

int write(int socked, char* data, int size)
参数:
socked :套接字描述符
data :数据
size :数据长度
返回值:
size :成功写入长度

int read(int socked, char* data, int size)
参数:
socked :套接字描述符
data :数据
size :数据最大长度
返回值:
size :成功读取长度

int select(int nfds, fd_set* readfds, fd_set* writefds, fd_set* exceptfds, struct timeval* timeout)
参数:
nfds :最大套接字描述符+1
readfds :需要监视数据读操作的套接字描述符集合
writefds :需要监视数据写操作的套接字描述符集合
exceptfds:需要监视异常发生的套接字描述符集合
timeout :设置最长等待时间
返回值:
-1 :发生错误
0 :超时
正整数:监视到了选择的监视内容
工具函数:
FD_ZERO() :清理描述符集合
FD_SET() :向集合中添加新的描述符
FD_CLR() :从集合中删除某个描述符
FD_ISSET():判断某个描述符是否在集合中

int poll(struct polled* fds, nfds_t nfds, int timeout)
参数:
fds :套接字描述符,监听的事件集合,实际发生的事件集合
nfds :…
timeout :最长等待事件


int epoll_create(int size);
参数:
size :最大监听数量
返回值:
epfd : epoll描述符
int epoll_ctl(int epfd, int op, int fd, struct epoll_event *event);
作用:
注册事件
参数:
epfd :epoll描述符
op :操作类型(添加,修改,删除)
fd :套接字描述符
event :具体事件
int epoll_wait(int epfd, struct epoll_event * events, int maxevents, int timeout);
参数:
epfd :poll描述符
events :发生的事件集合
maxevents : 最大事件数量
timeout :最大等待事件

 

linux网络编程相关函数

标签:

原文地址:http://www.cnblogs.com/zhenxi/p/4945786.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!