zoukankan      html  css  js  c++  java
  • Linux相关知识总结

    查看CPU使用情况 查看内存

    ps命令显示所有运行中的进程等命令

    top 命令用来显示CPU的使用情况
    free命令用来显示内存的使用情况


    select和epoll区别
    select,poll,epoll都是IO多路复用的机制
    select,poll,epoll本质上都是同步I/O,

    select的几大缺点:
    (1)每次调用select,都需要把fd集合从用户态拷贝到内核态,这个开销在fd很多时会很大
    (2)同时每次调用select都需要在内核遍历传递进来的所有fd,这个开销在fd很多时也很大
    (3)select支持的文件描述符数量太小了,默认是1024

    2 poll实现
    poll的实现和select非常相似,只是描述fd集合的方式不同,
    poll使用pollfd结构而不是select的fd_set结构,其他的都差不多。

    epoll既然是对select和poll的改进
    epoll和select和poll的调用接口上的不同,
    select和poll都只提供了一个函数——select或者poll函数。
    而epoll提供了三个函数,
    epoll_create,创建
    epoll_ctl 注册
    epoll_wait, 等待
    epoll_create是创建一个epoll句柄;
    epoll_ctl是注册要监听的事件类型;
    epoll_wait则是等待事件的产生。


    socket创建server的步骤
    TCP编程的服务器端一般步骤是:新建+属性+绑定+监听+接收+收发
    1、创建一个socket,用函数socket();
    2、设置socket属性,用函数setsockopt(); * 可选
    3、绑定IP地址、端口等信息到socket上,用函数bind();
    4、开启监听,用函数listen();
    5、接收客户端上来的连接,用函数accept();
    6、收发数据,用函数send()和recv(),或者read()和write();
    7、关闭网络连接;
    8、关闭监听

    TCP编程的客户端一般步骤是:
    1、创建一个socket,用函数socket();
    2、设置socket属性,用函数setsockopt();* 可选
    3、绑定IP地址、端口等信息到socket上,用函数bind();* 可选
    4、设置要连接的对方的IP地址和端口等属性;
    5、连接服务器,用函数connect();
    6、收发数据,用函数send()和recv(),或者read()和write();
    7、关闭网络连接;

  • 相关阅读:
    [翻译]关于堆和堆栈
    sql 字符+数值 混合排序 lcs
    证明DataReader分页的可行性 lcs
    谈谈我对小公司、大公司及个人成长的见解 lcs
    sina 通用js代码说明 lcs
    Linux系统下生成证书 https证书
    【转】51单片机外部中断的C51编程
    【转】如何建立个人网站
    【转】关于C51的中断编程[原创]
    【转】毫不费力:破解加密PDF文档就使用这两三招
  • 原文地址:https://www.cnblogs.com/hellochennan/p/6676675.html
Copyright © 2011-2022 走看看