AndreaDO

导航

2024年3月16日 #

网络编程4 poll和epoll

摘要: 网络编程4 了解多路复用IO poll int poll(struct pollfd *fds, nfds_t nfds, int timeout); 函数说明: 跟select类似, 监控多路IO, 但poll不能跨平台. 参数说明: fds: 传入传出参数, 实际上是一个结构体数组 fds.fd 阅读全文

posted @ 2024-03-16 16:42 AndreaDO 阅读(61) 评论(0) 推荐(0)

2024年3月15日 #

网络编程3 端口复用-多路IO转接select

摘要: 网络编程3 端口复用-多路IO转接 TCP状态转换图 端口复用 防止服务器重启时之前绑定的端口还未释放或者程序突然退出而系统没有释放端口。这种情况下如果设定了端口复用,则新启动的服务器进程可以直接绑定端口。如果没有设定端口复用,绑定会失败,提示ADDR已经在使用中。 解决端口复用的问题: bind 阅读全文

posted @ 2024-03-15 20:46 AndreaDO 阅读(85) 评论(0) 推荐(0)

网络编程2 三次挥手+多线程服务器编程

摘要: 网络编程2 三次挥手+多线程服务器编程 三次握手建立连接,四次挥手关闭连接 为什么TCP是面向连接的安全可靠的传输???? TCP是面向连接的安全的数据传输, 在客户端与服务端建立建立的时候要经过三次握手的过程, 在客户端与服务端断开连接的时候要经历四次挥手的过程, 下图是客户端与服务端三次握手建立 阅读全文

posted @ 2024-03-15 09:54 AndreaDO 阅读(29) 评论(0) 推荐(0)

2024年3月14日 #

网络编程1 基础概念+Socket编程

摘要: 网络编程1 基础概念+Socket编程 协议 概念: 协议事先约定好, 大家共同遵守的一组规则, 如交通信号灯. 从应用程序的角度看, 协议可理解为数据传输和数据解释的规则; 可以简单的理解为各个主机之间进行通信所使用的共同语言. 分层模型 OSI是Open System Interconnecti 阅读全文

posted @ 2024-03-14 18:58 AndreaDO 阅读(75) 评论(0) 推荐(0)

2024年3月10日 #

Ubuntu安装Nginx,并且解决问题

摘要: Ubuntu安装Nginx,并且解决问题 安装Nginxnginx-1.12.2 首先下载Nginx的压缩包 Nginx的压缩包 然后在Ubuntu中创建一个目录,开始解压 tar -zxvf nginx-1.12.2.tar.gz 解压结束后在编译和安装Nginx之前,您需要安装一些依赖库。通常, 阅读全文

posted @ 2024-03-10 16:12 AndreaDO 阅读(571) 评论(0) 推荐(0)

C++ 面试题 1

摘要: C++ 面试题 1.详细说说C/C++中malloc、free和new、delete的异同点 在C和C++中,malloc和free以及new和delete是用于动态内存管理的两组函数/操作符。虽然它们的目的相似,但在使用方式和特性上有一些重要的区别。 malloc和free malloc和free 阅读全文

posted @ 2024-03-10 14:52 AndreaDO 阅读(91) 评论(0) 推荐(0)

C++中不同容器下迭代器失效的情况

摘要: C++中不同容器下迭代器失效的情况 迭代器失效分三种情况考虑,也是分三种数据结构考虑,分别为数组型,链表型,树型数据结构。 数组型数据结构:该数据结构的元素是分配在连续的内存中,insert和erase操作,都会使得删除点和插入点之后的元素挪位置,所以,插入点和删除掉之后的迭代器全部失效,也就是说i 阅读全文

posted @ 2024-03-10 10:05 AndreaDO 阅读(163) 评论(0) 推荐(0)

2024年3月8日 #

Ubuntu安装Redis

摘要: Ubuntu安装Redis Redis在Ubuntu上是一个开源的内存型数据库,提供了快速、可扩展的键值存储。它使用ANSI C语言编写,支持网络,可以基于内存,也可以持久化。Redis不仅是一个key-value存储系统,还支持丰富的数据类型,如String、list、set、zset、hash等 阅读全文

posted @ 2024-03-08 21:12 AndreaDO 阅读(355) 评论(0) 推荐(0)

linux安装C++ boost和muduo网络库

摘要: linux安装C++ boost和moduo网络库 我的linux是Ubuntu,下面boost和moduo库需要用到的文件放在网盘里面了,链接 安装C++ boost库 在管理员下执行 apt-get install libboost-all-dev 安装完成后使用这条命令 dpkg -l | g 阅读全文

posted @ 2024-03-08 15:57 AndreaDO 阅读(1172) 评论(0) 推荐(1)

ubuntu 开启ssh 并且连接

摘要: ubuntu 开启ssh 并且连接 下载数据包 以 root 或者其他 sudo 用户身份执行下面的步骤,在你的 Ubuntu 系统上安装并且启用 SSH。 01.使用Ctrl+Alt+T打开终端,并且安装openssh-server软件包: sudo apt update sudo apt ins 阅读全文

posted @ 2024-03-08 11:29 AndreaDO 阅读(425) 评论(0) 推荐(0)