计算机网络
文章平均质量分 57
webserver
坠金
记性很差,写博客一是记录,二是交流分享,欢迎批评
展开
-
gcc更新版本
检查是否成功:切换用户后查看版本。原创 2022-12-08 18:17:26 · 436 阅读 · 0 评论 -
cmake编译时中途报错:undefined reference to ‘xxx‘.未定义引用
这篇博客的解决方案没有解决我的问题,里提到库文件,是一个很好的思路。我点击报错提到的cpp文件,看到头文件#include标红,不断ctrl点进去,发现是多个#include标红,包括mutex,bits/c++config.h等本来该有的库。这时候头文件不标红,但是using namespace std中标红std,报错std is ambiguous。这个问题猜测是前面重复包含了std,直接点击std,vscode提供排错的自动选项,然后就解决了。解决方案(无效):见gcc版本升级博客。原创 2022-12-08 19:21:14 · 3818 阅读 · 0 评论 -
多路复用机制
多路复用机制通过一个线程或进程来同时监听多个文件描述符,以便在文件描述符上发生I/O事件时进行处理,从而避免为每个客户端连接启动一个线程或进程的开销。传统的I/O模型中,每个I/O操作都是阻塞的,这意味着当一个I/O操作正在进行时,程序不能执行任何其他操作,必须等待I/O操作完成才能继续执行其他任务。多路复用机制解决了这个问题,它使用一个线程或进程同时监听多个文件描述符,当文件描述符上发生I/O事件时,线程或进程可以立即处理这些事件,而不需要等待其他线程或进程完成。文件描述符是I/O系统的一个重要概念,原创 2023-03-01 23:54:53 · 183 阅读 · 0 评论 -
cmake报错提示需要C++11编译:This file requires compiler and library support for the ISO C++ 2011
解决方式:在功能包所在的CMakeListst.txt中,添加原创 2022-12-07 16:03:42 · 586 阅读 · 0 评论 -
epoll_event结构体定义
分别表示一个32位和64位的无符号整数。使用时,用户可以将自己需要的数据存放到这个字段中,当事件触发时,epoll系统调用会返回这个数据,以便用户处理事件。字段表示用户数据,它的类型是一个union,可以存放一个指针或文件描述符等数据。可以指向任何类型的用户数据,原创 2023-03-02 22:53:04 · 2773 阅读 · 0 评论 -
进程同步概念
在生产者-消费者模型中,多个生产者线程可以同时向缓冲区中添加数据,多个消费者线程也可以同时从缓冲区中取出数据。如果不对缓冲区进行互斥访问,那么就可能出现多个线程同时对同一个缓冲区位置进行读写操作的情况,这会导致数据的不一致和混乱。当信号量为其他值时,执行 down 操作会减少信号量的值,然后进程可以继续执行。这意味着进程可以使用资源,但是可能需要等待其他进程或线程释放资源后才能再次访问。当信号量为 0 时,进程执行 down 操作时会被阻塞等待,直到信号量的值变为非零时才能继续执行。原创 2023-03-04 15:33:54 · 163 阅读 · 0 评论 -
window安装linux子系统(wsl+ubuntu)
首先电脑是没有安装过任何wsl,ubuntu的,如果有,并且后续报错占用,建议把wsl和ubuntu相关的删除干净。输入wsl.exe --list --online,用来查看可以安装的版本。在microsoft store里下载wsl和ubuntu22.04。输入wsl.exe --install Ubuntu-22.04。这个时候会叫你创建账户,创建好之后出现下文就是安装成功。管理员身份运行powershell。原创 2023-03-01 19:48:11 · 548 阅读 · 0 评论 -
epoll机制
套接字通常指的是网络套接字,它包括一个IP地址和一个端口号,用于标识网络上的一台计算机上的一个进程。可以用于在不同进程之间传输数据,无论这些进程在同一台计算机上还是在不同的计算机上方法:在套接字通信中,一个进程可以创建一个套接字,并将其绑定到一个IP地址和端口号上。然后它可以通过这个套接字向另一个套接字发送数据,或者从另一个套接字接收数据。例:Web浏览器使用套接字向Web服务器请求网页,邮件客户端使用套接字向邮件服务器发送和接收电子邮件。原创 2023-03-02 22:22:20 · 1022 阅读 · 0 评论 -
OSI体系结构7层,5层,4层协议+负载均衡
上图分别是7,4,5层协议。原创 2023-05-19 18:13:19 · 959 阅读 · 0 评论 -
TCP三次握手,四次挥手
客户端发,服务收到后发,两方即可建立连接存在的问题:这个过程确认了客户端发送能力正常,服务端发送,接受能力正常,但是没能确认客户端的接收能力是否正常三次握手目的一(有争议):防止已失效的连接请求又传送到服务器端,因而产生错误若建立连接只需两次握手,客户端并没有太大的变化,仍然需要获得服务端的应答后才进入ESTABLISHED状态,而服务端在收到连接请求后就进入ESTABLISHED状态。原创 2023-05-09 14:31:13 · 563 阅读 · 0 评论 -
TCP拥塞控制
超时重传和快速重传是TCP拥塞控制中的两种重传策略。快速重传和超时重传并不是互斥的,它们通常结合使用,以避免网络拥塞和丢包。如果一个数据包在超时时间内没有得到确认,TCP会启动超时重传机制;如果接收方发送了重复的确认信息,TCP会启动快速重传机制,从而尽可能快地恢复丢失的数据包。原创 2023-04-16 13:58:21 · 61 阅读 · 0 评论