Skip to main content

Command Palette

Search for a command to run...

#linux

Articles tagged with #linux

  1. Linux网络编程:Socket编程与通信协议

    网络套接字 socket 在通信过程中,套接字一定是成对出现的 一个文件描述符指向一个套接字(该套接字内部存在两个缓冲区) 网络字节序(采用大端法进行存储) IP地址转换函数 sockaddr套接字数据结构( man 7 ip) listen()设置同时建立链接的监听上限数 accept()阻塞监听客户端链接 socket函数 Listen 设置同时与服务器建立连接的上限数:上线数值最大为128 accept connect函数 C\S 通信模型编程 ->TCP通信流程分析 ...

    Jan 29, 20261 min read1
  2. 网络IO、IO多路复用、reactor模型

    阻塞IO 与 非阻塞IO的区别 首先,阻塞是什么意思?->即IO未就绪的情况下,发起系统调用的线程就会阻塞等待 什么决定是阻塞IO 还是非阻塞IO呢?->soket的属性来决定,如果sokect是阻塞的,那么调用的对应的IO函数也是阻塞的;如果sokect是非阻塞的,那么调用的IO函数也是非阻塞的->fcntl 可以将socket设置为非阻塞的 在IO未就绪的情况下,是否会阻塞线程来分别阻塞IO还是非阻塞IO 但是非阻塞IO面临一个问题就是 不知道什么时候去调用recv \read ...

    Jan 29, 20261 min read1
  3. Linux网络编程:网络基础

    什么是协议? 协议就是一组规则,来指导我们进行通信 OSI七层模型 TCP/IP四层协议 网络传输流程—>数据没有封装之前,是不能在网络中进行传递的 以太网帧协议 ARP协议:根据IP地址发送ARP请求 获取Mac地址 以太网帧协议:根据Mac地址,完成数据的传输 IP协议 TCP协议 C/S B/S模型 三次握手 四次握手 高并发服务器 多进程并发 调用socket(),创建一个监听套接字 bind() 绑定地址结构 Struct soketaddr_in addr li...

    Jan 29, 20261 min read1
  4. 多路io转接服务器

    模型概述 select函数 其中 readfds,writefds,exceptfds都是传入传出参数,即我们传入这些值,然后select函数会给我们传出值 timeout:定时阻塞监控时间,3种情况 1、NULL 永远等下去 2、设置timeval 等待固定时间 3、设置 timeval里时间均为0 ,检查描述字后立即返回,轮询 优缺点 缺点:监听上线收文件描述符限制,最大1024 检测满足条件的fd,自己添加业务逻辑提高小,提高了编码难度 优点:跨平台监听 ​ 端口复用函数:为了解决多...

    Jan 29, 20261 min read2