Linux网络编程
xqs_123
这个作者很懒,什么都没留下…
展开
-
根据网卡名称编号获取指定网卡IP地址
有时我们需要动态的根据网卡编号来获取IP地址,如果在配置文件里配置ip的话就不能动态的实现了,而linux下的ioctl()函数则提供了实现的途径。 ioctl是设备驱动程序中对设备的I/O通道进行管理的函数。所谓对I/O通道进行管理,就是对设备的一些特性进行控制,例如串口的传输波特率、马达的转速等等。它的调用个数如下:int ioctl(int fd, ind cmd, …);其中fd是用...原创 2019-01-31 13:31:28 · 2253 阅读 · 2 评论 -
epoll机制详解:
大家都明白epoll是一种IO多路复用技术,可以非常高效的处理数以百万计的socket句柄,比起以前的select和poll效率高大发了。在Linux的网络编程中,很长的时间都在使用select来做事件触发。在linux新的内核中,有了一种替换它的机制,就是epoll。相比于select,epoll最大的好处在于它不会随着监听fd数目的增长而降低效率。因为在内核中的select实现中,它是采用轮询...转载 2019-02-01 17:44:56 · 7774 阅读 · 2 评论 -
epoll总结
Epollepoll操作由三个函数构成:头文件为 #include <sys/epoll.h>#include <sys/epoll.h>int epoll_create(int size);int epoll_ctl(int epfd, int op, int fd, struct epoll_event *event);int epoll_wait(in...原创 2019-05-24 19:50:05 · 385 阅读 · 0 评论 -
Linux线程同步之互斥锁
1.互斥锁作用:互斥锁mutex是用来保护线程间共享的全局变量安全的一种机制,保证多线程中在某一时刻只允许某一个线程对临界区的访问。2.初始化方式:互斥锁对象的数据类型是 pthread_mutex_t ;互斥锁的初始方式分为静态方式和动态方式://动态初始化互斥锁方式int pthread_mutex_init(pthread_mutex_t *restrict mutex, con...原创 2019-06-20 18:34:07 · 833 阅读 · 0 评论 -
Linux线程同步之条件变量
1.条件变量:与互斥锁不同,条件变量是用来等待而不是用来上锁的。条件变量用来自动阻塞一个线程,直到某特殊情况发生为止。通常条件变量和互斥锁同时使用。条件变量之所以要和互斥锁一起使用,主要是因为互斥锁的一个明显的特点就是它只有两种状态:锁定和非锁定,而条件变量可以通过允许线程阻塞和等待另一个线程发送信号来弥补互斥锁的不足,所以互斥锁和条件变量通常一起使用。条件变量使线程可以睡眠等待某种条件出现...原创 2019-06-22 12:02:30 · 236 阅读 · 0 评论