whowinwhowin.cn·Jul 4, 2024Linux下使用libiw进行无线信号扫描的实例打开电脑连接wifi是一件很平常的事情,但这些事情通常都是操作系统下的wifi管理程序替我们完成的,如何在程序中扫描wifi信号其实资料并不多,前面已经有两篇文章介绍了如何使用ioctl()扫描wifi信号,但其实在Linux下有一个简单的库对这些ioctl()的操作进行了封装,这个库就是libiw,使用libiw可以简化编程,本文介绍了如果使用libiw对wifi信号进行扫描的基本方法,本文将给出完整的源代码,本文程序在 ubuntu 20.04 下编译测试完成,gcc 版本号 9.4.0;尽...网络编程libiw
whowinwhowin.cn·Apr 12, 2024libiw中的函数说明打开电脑连接wifi是一件很平常的事情,但这些事情通常都是操作系统下的wifi管理程序替我们完成的,如何在程序中连接指定的wifi其实很少有资料介绍,在网络专栏的文章中,有两篇是关于wfi编程的文章,其中对无线网卡的操作都是通过ioctl()完成的,显得有些繁琐和晦涩,但其实WE(Wireless Extensions)有一个简单的库libiw,这个库的实现也是使用ioctl(),但是经过封装后,会使wifi编程变得容易一些,本文为一篇资料类的文章,主要描述libiw中API的调用方法。 1 ...网络编程Linux
whowinwhowin.cn·Apr 10, 2024使用ioctl扫描wifi信号获取信号属性的实例(二)使用工具软件扫描 wifi 信号是一件很平常的事情,在知晓 wifi 密码的前提下,通常我们会尽可能地连接信号质量比较好的 wifi 信号,但是如何通过编程来扫描 wifi 信号并获得这些信号的属性(比如信号强度等),却鲜有文章提及,本文在前面博文的基础上通过实例向读者介绍如何通过编程扫描 wifi 信号,并获得信号的一系列的属性,本文给出了完整的源代码,本文程序在 ubuntu 20.04 下编译测试完成,gcc 版本号 9.4.0;阅读本文并不需要对 IEEE802.11 协议有所了解,但本...网络编程802.11
whowinwhowin.cn·Mar 9, 2024使用epoll()进行socket编程处理多客户连接的TCP服务器实例在网络编程中,当需要使用单线程处理多客户端的连接时,常使用select()或者poll()来处理,但是当并发数量非常大时,select()和poll()的性能并不好,epoll()的性能大大好于select()和poll(),在编写大并发的服务器软件时,epoll()应该是首选的方案,本文介绍epoll()在网络编程中的使用方法,本文提供了一个具体的实例,并附有完整的源代码,本文实例在 ubuntu 20.04 下编译测试完成,gcc 版本号 9.4.0。 1 基本概念 在『网络编程专栏』中...网络编程Linux
whowinwhowin.cn·Feb 26, 2024使用poll()代替select()处理多客户连接的TCP服务器实例在网络编程中,使用 select() 处理多客户端的连接是非常常用的方法,select() 是一个非常古老的方法,在大量连接下会显得效率不高,而且其对描述符的数值还有一些限制,Linux内核从 2.1.13 版以后提供了 poll() 替代 select(),本文介绍 poll() 在网络编程中的使用方法,并着重介绍 poll() 在编程行与 select() 的区别,旨在帮助熟悉 select() 编程的程序员可以很容易地使用 poll() 编程,本文提供了一个具体的实例,并附有完整的源代码,...网络编程Linux
whowinwhowin.cn·Jan 24, 2024使用signal中止阻塞的socket函数的应用实例在 socket 编程中,有一些函数是阻塞的,为了使程序高效运行,有一些办法可以把这些阻塞函数变成非阻塞的,本文介绍一种使用定时器信号中断阻塞函数的方法,同时介绍了一些信号处理和定时器设置的编程方法,本文附有完整实例的源代码,本文实例在 Ubuntu 20.04 上编译测试通过,gcc版本号为:9.4.0;本文不适合 Linux 编程的初学者阅读。 1 前言 在 socket 编程中,阻塞还是不阻塞是经常要考虑的问题,accept()、recv() 等一些函数都是阻塞函数,阻塞函数有时会给程...网络编程accept