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、关闭网络连接;

  • 相关阅读:
    无约束优化算法——牛顿法与拟牛顿法(DFP,BFGS,LBFGS)
    撤销重做功能实现
    疯狂值班表(人员跟日期生成的视图)
    从零开始---控制台用c写俄罗斯方块游戏(2)
    unity3d关于碰撞问题
    主进程和服务进程通信调用Acrobat.AcroPDDoc时出现的问题
    echarts
    Wpf DataGrid动态添加列,行数据(二)
    Wpf DataGrid动态添加列,行数据(一)
    wpf学习资料链接(做记录)
  • 原文地址:https://www.cnblogs.com/hellochennan/p/6676675.html
Copyright © 2011-2022 走看看