首页 > 系统相关 >Linux网络编程

Linux网络编程

时间:2023-10-07 16:56:34浏览次数:40  
标签:epoll int 编程 网络 描述符 线程 数组 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  

标签:epoll,int,编程,网络,描述符,线程,数组,Linux
From: https://www.cnblogs.com/lvshy/p/17742783.html

相关文章

  • 迁移虚拟机在目标主机上为目标网络配置的卸载或安全策略不同
    1、当前已连接的网络接口“Networkadapter1”无法使用网络“VMnetwork”,因为“在目标主机上为目标网络配置的卸载或安全策略不同于在源主机上为源网络配置的卸载或安全策略”  二、解决方案:检查集群内主机的虚拟交换机安全配置一致。(建议端口组名称也一致,还有字母大小......
  • 六款Linux常用远程连接工具
    1、Xshell介绍:xshell是一个非常强大的安全终端模拟软件,它支持SSH1,SSH2,以及Windows平台的TELNET协议。Xshell可以在Windows界面下用来访问远端不同系统下的服务器,从而比较好的达到远程控制终端的目的。(也是我目前使用的远程连接工具) 官网:www.netsarang.com2、secureCR......
  • 面向过程编程 和 面向对象编程
    1.什么是面向过程变成?首先,在编程中,面向过程和面向对象是编程的两大编程思想,分别是:面向过程和面向对象,二不是一门新的技术栈.面向过程中核心是过程二字,过程就是先干什么、在干什么、最后干什么,就是机械式的思维方式优点:复杂的问题简单化、进而流程化缺点:扩展性差,牵一发而动......
  • linux终端
    shellecho$SHELL#查看现在使用的shellcat/etc/shells#查看系统已有的shellchsh-s/bin/zsh#更换默认终端,需要重新登录zshzsh的一个配置设置sudoaptinstallzshautojumpsudoaptinstallautojumpj--stat#查看已记录的路径和权重jxxx#......
  • 学习《Linux基础入门》重点前8节--命令汇总笔记
    2023-2024-120232313《Linux基础入门》学习总结作业信息这个作业属于哪个课程2023-2024-1网络空间安全这个作业要求在哪里掌握Linux基本命令,安装虚拟机这个作业的目标掌握Linux基本命令作业正文https://www.cnblogs.com/kitaikuyo/p/17746596.html教材......
  • 【问题处理】常见Linux系统启动失败
    一、/dev/centos/swapdoesnotexist1、问题描述服务器引导启动失败进入dracut:/#界面,提示Couldnotboot./dev/centos/swapdoesnotexist2、原因分析存在以下两种可能,需要临时修复进入系统后方可确认根因a、grub引导配置指向swap信息不正确,系统引导时无法加载对应swa......
  • 安装包Matlab-中文科学编程软件-安装包下载方式
    Matlab应用是从外网软件论坛中引进的一款优质数据分析平台,该应用的UI布局设计参考了主流的办公应用,主体是由MATLAB和Simulink组成,内置了多达六百余种的函数运算模式,适合于每天需要处理大规模数据计算的行业,像仿真建模、系统算法的研发以及复杂的工程结构作图等,相信会是满意的选择。......
  • matlab下载-matlab软件官方版下载「编程开发」安装包下载方式
    matlab最新版本是一款非常不错的数学计算软件,这款软件非常的给力有着很强悍的算法以及模型创建能力,此版本更新了很多新的功能,能让你的办公使用更加强悍,快来下载试试吧。软件地址:看置顶贴Matlab2020b软件特色1、Matlab2020b提供用于科学计算及工程设计的高级语言。2、Matlab2020b可......
  • 解决DOS攻击生产案例:根据web日志或者或者网络连接数,监控当某个IP 并发连接数或者短时
    方法一:在awk中已经判断好并发连接数量的ip地址,传给whileread执行防火墙规则封掉对应的ip。root@centos8~]#catddos.sh#!/bin/bashss-nt|awk-F '[:]+''/ESTAB/{ip[$(NF-2)]++}END{for(iinip)if(ip[i]>100)printi}'|awk-F']''{print$1}'|whilere......
  • 自建yum仓库,分别为网络源和本地源
    网络yum源配置文件:[14:42:19root@centos8cd]#cat/etc/yum.repos.d/base.repo[BaseOS]name=BaseOSbaseurl=https://mirrors.aliyun.com/centos/$releasever/BaseOS/$basearch/os/   https://mirrors.huaweicloud.com/centos/$releasever/BaseOS/$basearch/os/   ......