
网络
文章平均质量分 78
pugu12
这个作者很懒,什么都没留下…
展开
-
【Linux学习】epoll详解
什么是epollepoll是什么?按照man手册的说法:是为处理大批量句柄而作了改进的poll。当然,这不是2.6内核才有的,它是在2.5.44内核中被引进的(epoll(4) is a new API introduced in Linux kernel 2.5.44),它几乎具备了之前所说的一切优点,被公认为Linux2.6下性能最好的多路I/O就绪通知方法。 epol转载 2015-08-09 16:24:40 · 305 阅读 · 0 评论 -
网络性能测试工具iperf详细使用图文教程
Iperf是一个网络性能测试工具。Iperf可以测试TCP和UDP带宽质量。Iperf可以测量最大TCP带宽,具有多种参数和UDP特性。Iperf可以报告带宽,延迟抖动和数据包丢失。利用Iperf这一特性,可以用来测试一些网络设备如路由器,防火墙,交换机等的性能。Iperf有两种版本,windows版和linux版本。linux版本更新快,最新版本为iperf 3.0,下载地址为http:转载 2015-11-18 17:50:27 · 1946 阅读 · 0 评论 -
setsockopt()用法(参数详细说明)
int setsockopt(SOCKET s,int level,int optname,const char* optval,int optlen);s(套接字): 指向一个打开的套接口描述字level:(级别): 指定选项代码的类型。SOL_SOCKET: 基本套接口IPPROTO_IP: IPv4套接口IPPROTO_IPV6: IPv6套接转载 2015-08-07 09:31:48 · 296 阅读 · 0 评论 -
epoll机制:epoll_create、epoll_ctl、epoll_wait、close
在linux的网络编程中,很长的时间都在使用select来做事件触发。在linux新的内核中,有了一种替换它的机制,就是epoll。相比于select,epoll最大的好处在于它不会随着监听fd数目的增长而降低效率。因为在内核中的select实现中,它是采用轮询来处理的,轮询的fd数目越多,自然耗时越多。并且,linux/posix_types.h头文件有这样的声明:#define__FD转载 2015-08-05 16:23:09 · 668 阅读 · 0 评论 -
从绑定网卡获取ip
在配置文件里配置ip的话就会出现每部署一个机器就要改ip。但是如果是绑定网卡就可以自动识别ip。代码如下:[cpp] view plaincopyconst char* getIPByIfName(const char* ifName) { int s; struct ifreq ifr;//转载 2015-08-06 14:47:09 · 361 阅读 · 0 评论 -
struct linger 用法
struct linger 用法Linux下tcp连接断开的时候调用close()函数,有优雅断开和强制断开两种方式。那么如何设置断开连接的方式呢?是通过设置socket描述符一个linger结构体属性。linger结构体数据结构如下: #include struct linger { int l_onoff; int l_linger;};转载 2015-08-04 17:16:45 · 343 阅读 · 0 评论 -
sockaddr_in , sockaddr , in_addr区别
sockaddr_in , sockaddr , in_addr区别struct sockaddr { unsigned short sa_family; char sa_data[14]; }; 上面是通用的socket地址,具体到Interne转载 2015-08-04 16:41:24 · 435 阅读 · 0 评论 -
自己动手写路由器之ioctl获取网络接口信息
最近打算写一个简单路由器,里面有用到ioctl获取网络接口信息,那就先把这部分单独拿出来说一说吧!ioctl这个函数,可以用来对特殊文件的基础设备参数进行操作,它们可以完成与打开文件描述符相关联的控制功能。在程序启动时获得主机上所有接口的信息: 接口的地址、接口是否支持广播、是否支持多播等等。成功返回0,出错则返回-1。本文里只是单独对获取网络接口信息部分讲解。先列出一些本转载 2015-08-04 15:06:43 · 383 阅读 · 0 评论 -
Linux中ifreq 结构体分析和使用
结构原型:struct ifreq{#define IFHWADDRLEN 6 union { char ifrn_name[IFNAMSIZ]; } ifr_ifrn; union { struct sockaddr ifru_addr; struct sockaddr ifru_dstaddr; struct sockaddr转载 2015-08-04 15:44:53 · 596 阅读 · 0 评论 -
MB/s与Mbit/s的区别!!!
数据传输率的单位一般采用MB/s或Mbit/s,尤其在内部数据传输率上官方数据中更多的采用Mbit/s为单位。此处有必要讲解一下两个单位二者之间的差异: MB/s的含义是兆字节每秒,Mbit/s的含义是兆比特每秒,前者是指每秒传输的字节数量,后者是指每秒传输的比特位数。MB/s中的B字母是Byte的含义,虽然与Mbit/s中的bit翻译一样,都是比特,也都是数据量度单位,但二者是完全不同的转载 2016-05-23 17:43:03 · 16639 阅读 · 0 评论