Linux网络编程

  1. C++11新特性 右值引用

     

     

     减少无畏的深拷贝,使用间拷贝改变资源的所有权

     

     把文件描述符设置为-1是为了重用数组里面的元素,现在我们用一整块的堆内存,就不用重用那个数组了

  2. 线程池   手写线程和线程池的区别  需要自己创建和销毁 在主线程里建立连接,在子线程通信,而线程池则是直接在主线程创建,在子线程干活,由管理者控制,定义生成

     

  3. epoll poll和select基于线性表  epoll红黑树 加事件 可以触发回调函数及时处理

     

  4. select最大1024 参数里面有拷贝

     

     方便处理,但不能跨平台Linux

     

     对epoll树的三种操作 添加 修改 删除 删除的话事件当然没有了null

  5. epoll所关心的事件

     绝大部分是epollin

     epollET修改触发方式

     事件里的另一个数据属性 传递出来的备注信息,大多数是说哪个文件描述符 void类型就是传输得到的信息很多,申请一块内存专门记录一下,将来epoll-wait会读取出来

  6. epoll-wait参数

     第一个是创建的文件描述符,第二个就是那个结构体,第三个就是说明结构体数组的最大容量,如果触发的一致那么返回的这个函数返回值int和数组里面元素个数相同,第四个是阻塞时间,-1就是一直阻塞检测,毫米10

  7. 处理流程

     

     

     难道忘记了TCP服务器端通信的流程了嗎?监听套接字,连接私人的套接字

  8. 非阻塞IO模式

     

     fctrol函数 变参函数 无接受函数无关,而是关乎文件描述符的性质,句柄  里的内存表

    sudo yum install openssh-server g++ gdb make rsync zip
    sudo service ssh start

  9. 奇偶变换和int和char类型转换

     

     int变char要加0,如果是逆着输出减减,要》=0

  10. pair排序

     首元素按照大小排序,如果相同按照,第二个元素排序

  11. 为什么要用静态数组模拟区间

     为什么会多数组这么多组呢  因为每输入一组,就修改了后面的值,不能让回回都被修改  静态数组和数组初始化都为0,不是修改的原因,而是分配空间  问老王!

     

    王天一:
    C语言中,局部变量不会自动初始化

    王天一:
    所以如果你需要它初始化为0,要么用全局变量或者static变量,要么手动地memset为0  

posted @ 2023-10-07 16:42  SunShine789  阅读(19)  评论(0)    收藏  举报