笔记
半瓶可乐@
这个作者很懒,什么都没留下…
展开
-
IOCP完成端口管理
WINDOWS下的异步非阻塞的模型:线程池完成高并发,共享内存完成非阻塞ctcpnet.h#ifndef CTCPNET_H#define CTCPNET_H#include <winsock2.h>#include <windows.h>#include <process.h>#include <list>#include <map>#include <iostream>#include <QDebug&原创 2022-04-09 16:33:11 · 906 阅读 · 0 评论 -
网络IO模型之异步事件模型
异步事件模型:像操作系统注册信息(socket、网络事件、事件),当指定网络时间按发生,将事件置为信号。特点:被动通知个数限制 64 (多线程 多数组)性能较优阻塞:自己拷贝数据如果有两个事件发生信号,只会发生索引最小的那个。#include "ctcpnet.h"#include <winsock2.h>#include <windows.h> //winsock.h#include <iostream>#include <QDebug&.原创 2022-04-06 16:14:45 · 488 阅读 · 0 评论 -
操作系统-线程同步
/* * 线程同步解决多线程并发的问题 * 1.原子访问:同一时刻只允许一个线程访问资源(变量) * volitale 防止编译优化,直接操作内存 * 2.临界区(关键段):同一时刻只允许一个线程访问代码段 * 用法:定义并在创建线程之初始化,进入代码区,离开代码区。 * 作用:消除重复,但是出现负值 * 出现负值的原因:票数已经卖完了,还要-- *原创 2022-04-06 15:43:32 · 995 阅读 · 0 评论 -
TCP-IO模型之SELECT机制
网络IO模型之select将需要查看的套接字加入到集合中,将集合交给select管理,select在内核中查看一段时间,将发生网络事件的套接字留在集合中,校验集合。实现步骤:1.定义集合 fd_set2.清空集合 FD_ZERO()3.将socket加入到集合中FD_SET4.将集合交给select管理 select()5.校验集合 FD_ISSET()#include <QCoreApplication>#include <winsock2.h>#inclu原创 2022-04-04 20:46:40 · 1826 阅读 · 0 评论 -
TCP-非阻塞模型
#include <QCoreApplication>#include <winsock2.h>#include <windows.h> //winsock.h#include <iostream>#include <QDebug>using namespace std;#define MAX_PAGE 4096#define MAX_NUM 64 int m_nSocketNum=0;SOCKET m_SocketEwaite原创 2022-04-04 20:26:48 · 2079 阅读 · 0 评论 -
TCP单文件发送
文件传输思路Server.cpp#include <QCoreApplication>#include <winsock.h>#include <windows.h> //注意顺序 #include <winsock.h> #include <windows.h>#include <iostream>#include <QDebug>using namespace std;#pragma comment(l原创 2022-04-04 20:04:46 · 1377 阅读 · 0 评论 -
TCP网络传输-粘包问题解决
解决方案: 先发送包长度,再发送包大小server.cpp#include <QCoreApplication>#include <winsock.h>#include <windows.h>#include <iostream>using namespace std;#pragma comment(lib, "ws2_32.lib")DWORD WINAPI ThreadFun(LPVOID lpThreadParameter);in.原创 2022-04-04 19:49:52 · 1245 阅读 · 0 评论 -
操作系统线程池
.h头文件#ifndef MYTHREADPOOL_H#define MYTHREADPOOL_H#include <windows.h>#include <list>#include <queue>#include <process.h>using namespace std;/* * 线程池:预先创建一些线程,使它们处于睡眠状态,不占CPU 当来任务时,唤醒线程 * 步骤: * 1.创建一些线程 * 2.销原创 2022-04-03 12:57:59 · 326 阅读 · 0 评论 -
tcp 同步阻塞+多线程 模型实现多客户端与服务器通信(封装好)
服务器端.h头文件#ifndef CTCPNET_H#define CTCPNET_H#include <winsock2.h>#include <windows.h>#include <process.h>#include <list>#include <map>#include <iostream>#include <QDebug>using namespace std;class CTCPN原创 2022-04-03 12:54:24 · 918 阅读 · 0 评论 -
mqtt授权、连接失败
安装:sudo apt-get install mosquitto sudo apt-get install mosquitto-clients问题:解决途径:sudo vim /etc/mosquitto/mosquitto.conf代码:# Place your local configuration in /etc/mosquitto/conf.d/## A full description of the configuration file is at# /usr/原创 2021-12-07 17:53:08 · 1575 阅读 · 0 评论 -
netstat 命令用法详解
netstat 命令用法详解apt install net-toolsnetstat -nutlp命令详解:显示所有连接。-a 选项会列出 tcp, udp 和 unix 协议下所有套接字的所有连接。使用 -t 选项列出 TCP 协议的连接,可和 -a 选项配合使用使用 -u 选项列出 UDP 协议的连接n 选项可以禁用此行为,并且用户 ID 和端口号也优先使用数字显示。-l 选项可以只列出正在监听的连接(不能和 a 选项同时使用)-p 选项可以查看进程信息(此时 netstat原创 2021-11-28 08:37:11 · 4293 阅读 · 0 评论 -
debian设置静态ip
debian设置静态ip原创 2021-11-27 18:41:14 · 786 阅读 · 0 评论 -
kubelet操作语句
kubelet操作语句1.获取所有podkubectl get pod -A2.查看当前 Ubuntu 系统操作语句记录histroy | grep exec3.进入pod里面 管理cloudcorekubectl exec -it -n kubeedge cloudcore-aschdklchdhcod276 -- /bin/sh原创 2021-08-17 22:05:52 · 66 阅读 · 0 评论 -
修改docker和kubelet的cgroup-driver为systemd
修改docker和kubelet的cgroup-driver为systemddocker修改方法:cat > /etc/docker/daemon.json <<EOF{ "exec-opts": ["native.cgroupdriver=systemd"]}EOF重启docker:systemctl restart dockerkubelet修改方法:vim /var/lib/kubelet/kubeadm-flags.env添加:–cgroup-原创 2021-08-10 09:46:40 · 2021 阅读 · 0 评论 -
git上传文件到gitlab
git上传文件到gitlab1、安装git https://git-scm.com/downloads2、添加和配置SSH公钥:首先创建一个密钥1、桌面右键b、cd ~/.ssh/如果提示 “ No such file or directory”,你可以手动的创建一个 .ssh文件夹即可 mkdir ~/.sshc、配置全局的name和email,参照你创建的工程Git global setupgit config --global user.name "Username"g原创 2021-07-31 21:51:51 · 126 阅读 · 0 评论