自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 资源 (1)
  • 收藏
  • 关注

原创 1计算机网络复习 之 访问一个URL的全过程

前言为了深入理解网络传输的整个过程,以访问一个URL为例,复习一下网络传输。总结的内容,是个人的理解,有不对之处还望各位大侠指导纠正一下。万分感谢!访问一个URL的全过程小结HTTP客户端生成HTTP报文,然后根据域名先在本地DNS服务器上查找目标主机的IP。如果没找到的话,依次向根域名服务器,顶级域名服务器,权威域名服务器依次查询,直到找到目标主机IP。同时将域名与IP记录在本地的DNS中。然后将报文交给下一层。传输层在收到HTTP报文后,在报文前面加上TCP头部,TCP头部中包含了源端口

2021-06-14 10:26:54 403

原创 5计算机网络复习 之 TCP篇(重传机制,快重传,拥塞控制,滑动窗口,流量控制)

2021-06-29 15:47:18 179 1

原创 4计算机网络复习 之 TCP篇

2021-06-28 21:05:51 108 1

原创 3计算机网络 之 HTTP的演变之路(HTTP1.0,HTTP1.1,HTTP2.0)

2021-06-26 11:22:32 151 2

原创 2计算机网络复习 之 HTTP&HTTPS

2021-06-24 14:05:35 85 2

原创 C++高性能服务器开发 epoll+线程池模型

文章目录前言epoll 部分线程池部分整体设计:前言最近在总结之前做的恋爱交由平台的项目。在优化服务器时,将一开始使用的同步阻塞+多线程,替换为现在的epoll+线程池模型。提高了并发的能力,可以实现C10k的目标。因此,特写此文,用来记录epoll+线程池模型。为相同需求的同学提供优化思路。epoll 部分首先要做的还是socket的创建,绑定,监听。并且创建epoll的句柄,同时将监听socket挂载到红黑树上,方便以后客户端有连接请求时可以建立连接。int TcpNet::InitNe

2021-06-16 21:18:32 1235 1

原创 1操作系统 之 IO多路复用

文章目录socket编程多进程模型多线程模型I/O多路复用总结:socket编程多进程模型多线程模型I/O多路复用总结:

2021-06-16 18:47:36 89

原创 0操作系统 之 内存管理

文章目录虚拟内存操作系统管理虚拟地址和物理地址的关系(段式,页式,段页式)内存分段虚拟内存操作系统管理虚拟地址和物理地址的关系(段式,页式,段页式)内存分段

2021-06-10 23:11:58 61 1

原创 0计算机网络复习 之 TCP/IP五层网络模型 概述

文章目录前言TCP/IP五层网络模型应用层传输层网络层数据链路层物理层小结:前言为了充分准备秋招,并且对两年来所学的内容做一个系统的总结.特开此专栏.一方面为自己复习的时候做总结,方便查看.另一方面,也为有相同需求的同学提供一个复习的思路.TCP/IP五层网络模型应用层传输层网络层数据链路层物理层小结:...

2021-06-10 23:03:30 82 1

原创 剑指Offer26. 树的子结构

文章目录解法一:前序遍历+条件判断代码实现:题目解法一:前序遍历+条件判断判断B树是否是A的一个子树,采用前序遍历的方法遍历A树中的节点。recur(A, B) 函数:isSubStructure(A, B) 函数:代码实现:时间复杂度O(MN),空间复杂度O(M) M为A树节点数量,N为B树节点数量class Solution {public: bool isSubStructure(TreeNode* A, TreeNode* B) { // 先

2021-06-10 14:26:03 69

原创 剑指Offer 59-II 队列的最大值

文章目录题目:解法一:双端队列维护最大值列表**具体实现过程:**代码实现题目:题目链接解法一:双端队列维护最大值列表根据题意,需要实现一个返回最大值的函数,因此需要额外的维护一个列表,这个列表中存放的是于队列中剩余个数相匹配的最大元素的列表.要使时间复杂度为O(1),则用一个双端队列来维护最大值列表.(用空间换时间)具体实现过程:在插入数据时:如果插入的数据大于双端队列中的部分元素时,将小于插入数据的元素全部出队,然后将要插入的数据入队.在删除数据时:如果删除的数据与双端对立的队首元素相

2021-06-10 11:40:04 69

原创 剑指Offer 03.数组中重复的数字

思路:**方法一:**可以使用辅助的数据结构,如unordered_map,set等STL.时间复杂度:O(N) 空间复杂度O(N)代码实现:// 方法一: 使用 辅助的数据结构,如map或者set 空间复杂度O(N) set<int> st; for(auto num : nums ){ if( st.find(num) == st.end() ) st.insert(num); else return num; }r

2021-06-09 22:22:58 42

原创 Nginx RTMP点播报错

问题描述:今天将写好的项目的服务器部署到云服务器时,已经配置好了nginx服务器。发现用ffmpeg推流时,客户端可以收到rtmp流。但是客户端点播服务器中的视频文件时,出现了问题。出错图片:检查后发现时其他用户权限不够...

2021-06-09 21:13:41 228

原创 打包Qt项目的方法

QT打包一个项目的方法当写完一个项目后,打包成一个应用,脱离qt只运行exe文件,就可以运行程序。步骤:1.选择release,运行一遍程序。2.找到release的文件路径复制路径。3.在搜索栏中,找的对应版本的qt4. 打开,cd到release的文件路径,然后 执行windeployqt 程序名.exe5. 运行结束后如图,此时在release文件中 直接运行exe就可执行程序。##至此,如何打包qt项目的问题已解决...

2021-05-26 09:48:47 386

原创 VSCode配置C/C++环境

VSCode中配置C/C++环境前言:在实习中,由于公司没有购买vs的版权所以使用开源的VSCode来开发代码。在配置过程中遇到的种种问题,记录下来帮助后人也帮助自己方便以后再配置。一、下载首先在vscode官网下载(https://code.visualstudio.com/)VSCode。本次下载的是64位的User Installer版本。二、安装直接打开下载好的.exe文件进行安装即可。我是安装在D盘。此处除了“添加到PATH”默认的勾选项外,只额外勾选了“创建桌面快捷方式”选项。

2021-04-27 10:54:39 241

原创 根据xml解析创建类的对象

// #include "SDK.h"// enum emtype{facility_target, aircraft, groundvehicle, launchvehicle, ship, missile, sensor, satellite};// int main()// {// string stype = "aircraft";// emtype m_type = emtype.Parse();// cout << m_type <&

2020-12-18 09:31:18 112

原创 .vscode配置 tasks.json launch.json

//----------c_cpp_properties.json----------------{ "configurations": [ { "name": "Win32", "includePath": [ "${workspaceFolder}/**" ], "defines": [ "_DEBUG",

2020-12-14 13:27:25 527

原创 java服务器(对接的服务器 部分代码)

package com.hirain.pmtsd.tcp.server;import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;import java.net.ServerSocket;import java.net.Socket;import java.util.HashMap;import java.util.concurrent.ConcurrentHashMap;pub

2020-12-11 07:41:41 95

原创 cin中输入空格断开的解决方法

cin中输入空格断开的解决方法cin>>a;//此时输入: hello worldcout<<a<<endl;//只会显示hello 因为空格相当于\0遇到空格直接结束输入了//解决方法:getline(cin,a);//从输入流得到一行字符串,遇到回车结束...

2020-12-09 09:27:48 1864

原创 TCPClient代码

TCPClient代码#include <iostream>#include <winsock2.h>// Need to link with Ws2_32.lib#pragma comment(lib, "ws2_32.lib")using namespace std;int main(){ //1.加载库 WORD wVersionRequested; WSADATA wsaData; int err;/* Use the MAKE

2020-12-08 07:30:05 253

OpenGL安装包加配置 一看就懂

Windows环境下安装GLUT的步骤: 1、将下载的压缩包解开,将得到1个GL文件夹、2个.dll文件、2个.lib文件。 2、以Visual Stdio2005为例(VC6.0与此类似),把解压到的GL文件夹拷贝到安装目录如“C:\Program Files\Microsoft Visual Studio 8\VC\include\”文件夹下。 3、把解压得到的glut.lib和glut32.lib放到静态函数库所在文件夹,如果是Visual Studio2005,则应该是其安装目录下面的“C:\Program Files\Microsoft Visual Studio 8\VC\lib”文件夹。 4、把解压得到的glut.dll和glut32.dll放到操作系统目录下面的system32文件夹内(C:\Windows\System32)。 5.另附一段简单的OpenGL程序,在Visual Studio2005和VC6.0下均已调试通过。

2019-04-21

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除