- 博客(20)
- 资源 (1)
- 收藏
- 关注
原创 1计算机网络复习 之 访问一个URL的全过程
前言为了深入理解网络传输的整个过程,以访问一个URL为例,复习一下网络传输。总结的内容,是个人的理解,有不对之处还望各位大侠指导纠正一下。万分感谢!访问一个URL的全过程小结HTTP客户端生成HTTP报文,然后根据域名先在本地DNS服务器上查找目标主机的IP。如果没找到的话,依次向根域名服务器,顶级域名服务器,权威域名服务器依次查询,直到找到目标主机IP。同时将域名与IP记录在本地的DNS中。然后将报文交给下一层。传输层在收到HTTP报文后,在报文前面加上TCP头部,TCP头部中包含了源端口
2021-06-14 10:26:54 465
原创 C++高性能服务器开发 epoll+线程池模型
文章目录前言epoll 部分线程池部分整体设计:前言最近在总结之前做的恋爱交由平台的项目。在优化服务器时,将一开始使用的同步阻塞+多线程,替换为现在的epoll+线程池模型。提高了并发的能力,可以实现C10k的目标。因此,特写此文,用来记录epoll+线程池模型。为相同需求的同学提供优化思路。epoll 部分首先要做的还是socket的创建,绑定,监听。并且创建epoll的句柄,同时将监听socket挂载到红黑树上,方便以后客户端有连接请求时可以建立连接。int TcpNet::InitNe
2021-06-16 21:18:32 1410 1
原创 1操作系统 之 IO多路复用
文章目录socket编程多进程模型多线程模型I/O多路复用总结:socket编程多进程模型多线程模型I/O多路复用总结:
2021-06-16 18:47:36 102
原创 0操作系统 之 内存管理
文章目录虚拟内存操作系统管理虚拟地址和物理地址的关系(段式,页式,段页式)内存分段虚拟内存操作系统管理虚拟地址和物理地址的关系(段式,页式,段页式)内存分段
2021-06-10 23:11:58 74 1
原创 0计算机网络复习 之 TCP/IP五层网络模型 概述
文章目录前言TCP/IP五层网络模型应用层传输层网络层数据链路层物理层小结:前言为了充分准备秋招,并且对两年来所学的内容做一个系统的总结.特开此专栏.一方面为自己复习的时候做总结,方便查看.另一方面,也为有相同需求的同学提供一个复习的思路.TCP/IP五层网络模型应用层传输层网络层数据链路层物理层小结:...
2021-06-10 23:03:30 240 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 83
原创 剑指Offer 59-II 队列的最大值
文章目录题目:解法一:双端队列维护最大值列表**具体实现过程:**代码实现题目:题目链接解法一:双端队列维护最大值列表根据题意,需要实现一个返回最大值的函数,因此需要额外的维护一个列表,这个列表中存放的是于队列中剩余个数相匹配的最大元素的列表.要使时间复杂度为O(1),则用一个双端队列来维护最大值列表.(用空间换时间)具体实现过程:在插入数据时:如果插入的数据大于双端队列中的部分元素时,将小于插入数据的元素全部出队,然后将要插入的数据入队.在删除数据时:如果删除的数据与双端对立的队首元素相
2021-06-10 11:40:04 83
原创 剑指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 56
原创 Nginx RTMP点播报错
问题描述:今天将写好的项目的服务器部署到云服务器时,已经配置好了nginx服务器。发现用ffmpeg推流时,客户端可以收到rtmp流。但是客户端点播服务器中的视频文件时,出现了问题。出错图片:检查后发现时其他用户权限不够...
2021-06-09 21:13:41 270
原创 打包Qt项目的方法
QT打包一个项目的方法当写完一个项目后,打包成一个应用,脱离qt只运行exe文件,就可以运行程序。步骤:1.选择release,运行一遍程序。2.找到release的文件路径复制路径。3.在搜索栏中,找的对应版本的qt4. 打开,cd到release的文件路径,然后 执行windeployqt 程序名.exe5. 运行结束后如图,此时在release文件中 直接运行exe就可执行程序。##至此,如何打包qt项目的问题已解决...
2021-05-26 09:48:47 450
原创 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 265
原创 根据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 126
原创 .vscode配置 tasks.json launch.json
//----------c_cpp_properties.json----------------{ "configurations": [ { "name": "Win32", "includePath": [ "${workspaceFolder}/**" ], "defines": [ "_DEBUG",
2020-12-14 13:27:25 595
原创 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 108
原创 cin中输入空格断开的解决方法
cin中输入空格断开的解决方法cin>>a;//此时输入: hello worldcout<<a<<endl;//只会显示hello 因为空格相当于\0遇到空格直接结束输入了//解决方法:getline(cin,a);//从输入流得到一行字符串,遇到回车结束...
2020-12-09 09:27:48 1954
原创 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 272
OpenGL安装包加配置 一看就懂
2019-04-21
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人