ssh Connection closed by remote host解决 最近某台服务器隔一段时间就会有ssh连接失败的告警,但是上去排查的时候会发现ssh并没有连接失败的错误。后来有在ssh的地方添加日志,打印错误的输出,最终得到的报错。
网络编程复习 题型分布及得分:问答题5道40分;设计题3道50分;论述题10分一、 问答题(40分 5道)1. 阻塞的Socket通信的原理是什么? Socket 就像一个电话插座,负责连通两端的电话,进行点对点通信,让电话可以进行通信,端口就像插座上的孔,端口不能同时被其他进程占用。而我们建立连接就像把插头插在这个插座上,创建一个 Socket 实例开始监听后,这个电话插座就时刻监听着消息的传入,...
Linux题型复习 一、常用命令及工具(10分)见课件chap1二、名词解释/简答题(20分)1.根目录下各个目录的详细介绍/bin:二进制程序/boot:启动配置文件/dev:设备文件 包含设备文件 终端设备,usb或连接到系统的任何设备/etc:配置文件/home:用户家目录/lib:系统库文件/media:挂载可移动设备的临时目录/mnt:挂载文件系统/opt:提供一个可供选的应用/p...
Linux系统编程复习 第一章:操作系统基本知识1.根目录下各个目录的详细介绍/bin:二进制程序/boot:启动配置文件/dev:设备文件 包含设备文件 终端设备,usb或连接到系统的任何设备/etc:配置文件/home:用户家目录/lib:系统库文件/media:挂载可移动设备的临时目录/mnt:挂载文件系统/opt:提供一个可供选的应用/proc:特殊的动态目录,不同时间下,里面的内容不一样...
Linux I/O多路复用select详解及FD_系列宏的源码分析 I/O多路复用的理解先讲一个大家都比较熟悉的例子吧 小时候咱们都喜欢看《亮剑》、《雪豹》这一类的抗日剧,里面八路军在自己的驻地周围都会24小时分布一些暗哨,每当有鬼子要进行扫荡或者清剿的时候暗哨就会赶紧告诉驻地的八路军,有敌人过来了,赶紧抄家伙干仗了。其实这就和咱们要讲的I/O多路复用有异曲同工之处。 在我们接触I/O多路复用以前,在处理一些比较多的连接或者请求的时候大多数人会去使用类似下...
Linux信号总结 信号是由用户、系统或者进程发送给目标进程的信息,用来通知目标进程的状态改变或系统异常。发送信号kill#include <sys/types.h>#include <signal.h>int kill(pid_t pid, int sig);该函数可以把sig信号发送给pid指定的目标进程 pid 参数 含义 pid >...
Linux生产者消费者模型实现 生产者——消费者模型顾名思义,就是一个或多个线程往仓库生产东西,另外的线程从仓库拿东西,在咱们的线程池中也有所应用。咱们看看维基的解释: 生产者消费者问题(英语:Producer-consumer problem),也称有限缓冲问题(英语:Bounded-buffer problem),是一个多线程同步问题的经典案例。该问题描述了共享固定大小缓冲区的两个线程——即所谓的“生产者”和“消费者...
Linux时间轮应用:关闭非活动连接 介绍时间轮顾名思义,就是将不同时间的定时任务放在一个轮子上,既然是轮子,肯定是会转动的,每当指针转动到一个时间槽的时候我们会到这个时间槽中去执行到期的定时任务。...
Linux高性能服务器编程springsnail源码解析(c++负载均衡) 在《Linux高性能服务器编程》一书中为了帮助大家将书中的知识融汇到实际项目中,作者特意编写了一个较为完整的负载均衡服务器程序springsnail。里面用到了进程池、有限状态机这些知识点。自己是在网上找到的这个程序的源码,起初接触的时候,总共1400多行代码里面没有一行注释,网上也没有一篇博客去对这个项目进行解析,因此写这篇博客供大家一起分享学习。 咱们从main函数开始,我们要介绍几个c语言...
23种设计模式之策略模式(c++实现) 定义策略模式:定义了算法族,分别封装起来,让它们之间可以互相替换,此模式让算法的变化独立于使用算法的客户。 Strategy 模式典型的结构图为: 大家肯定看着很懵逼,其实第一次接触类图的时候我自己也是这样。 那么咱们举个例子来解释一下。 假设我们要实现一个角色游戏,context为所有角色的基类(例子的代码后面会实现,此处只是拿context举例,此处的context并不是基类)...
同时处理TCP和UDP请求的回射服务器 server.cpp#include<stdio.h>#include<sys/types.h>#include<sys/socket.h>#include<sys/epoll.h>#include<netinet/in.h>#include<arpa/inet.h>#include<assert.h&g
c++中string类的基本实现 #pragma once#include<iostream>#include<string.h>using std::ostream;using std::istream;class my_string{private: char *data; int len;public: static const int npos = -1; //返回
LeetCode Add Two Numbers 题目描述You are given two non-empty linked lists representing two non-negative integers. The digits are stored in reverse order and each of their nodes contain a single digit. Add the two numbers and retur
linux两个线程交替打印数字 #include<stdio.h>#include<unistd.h>#include<stdlib.h>#include<pthread.h>#define COUNT 10static int i = 1;pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER;pthread_c...
c++初始化列表的一些知识点 性能优化在刚接触c++时候就觉得c++很有意思,比如在c中用”=”赋值的一些语句可以使用”()”进行初始化,但是之前并没有十分理解初始化相比于赋值语句有什么优点,后来在学习了类之后,初始化列表的出现,让我对初始化有了更加深刻的理解。首先看代码#include<iostream>using namespace std;struct Test1{ Test1() //无参析构 {
1231 最优布线问题 题目描述 Description 学校需要将n台计算机连接起来,不同的2台计算机之间的连接费用可能是不同的。为了节省费用,我们考虑采用间接数据传输结束,就是一台计算机可以间接地通过其他计算机实现和另外一台计算机连接。为了使得任意两台计算机之间都是连通的(不管是直接还是间接的),需要在若干台计算机之间用网线直接连接,现在想使得总的连接费用最省,让你编程计算这个最小的费用。输入描述 Input Des