Linux聊天集群开发之环境准备

一.windows下远程操作Linux

第一步:在Linux终端下配置openssh,输入netstate -tanp,查看ssh服务是否启动,默认端口22.。

注:如果openssh服务,则需下载。输入命令ps -e|grep ssh, 查看如否配有, ssh-agent --客户端,以及sshd 服务端。

下载命令 1.首先应升级apt-get : sudo apt-get upgate

                2. sudo apt-get install ssh-agent sshd

第二步:windows端 在vscode中下载remote development,会自动下载所有的依赖,然后打开小电脑图标,选择ssh服务,然后点击ssh的setting, 选择config,配置要连接的主机名称,主机ip,以及登录的用户名,即可。

二.Json模块

消息形式为{

        消息类型

        from

        to

        msg

}使用方便,独立于编程的,所以说明,在两种不同的语言之间可以交互!

将其序列化,转化为字节流/字符流, 在进行反序列化,也就是解密。

另一种工具是ptotobuf,分组发放,更高效。

nlohman编写的json库,stl和json之间可以相互转换,c++11编写

三.按照boost网络编程库

第一步:下载压缩包,linux下的压缩包是以tar.gz结尾的,压缩包地址

链接:https://pan.baidu.com/s/11tNt-GNmt1xw_fGQ-tARgA 提取码:7yb9

第二步:把tar.gz文件传送到linux,并解压压缩包,命令如下

tar -zxvf boost....

第三步:进入boost...然后运行bootstarp.sh文件,进行构建,然后运行./b2文件进行编译。

第四步:进入root用户,把boost库文件以及链接文件放到linux的搜索路径下。

测试代码

#include<iostream>
#include<boost/bind.hpp>
#include<string>

using namespace std;

class Hello{

public:
    void say(string name)
    {cout << name << " say : hello world\n";}

};

int main(){
    Hello h;
    auto func = boost::bind(&Hello::say, &h, "zhang san");
    func();
    return 0;
}

这里的bind函数是将,say方法绑定到对象h上,指定参数为zhang san,返回这个方法

四.Muduo网络编程库

因为muduo库使用boost和cmake来构建的,所以我们需要装cmake

链接:https://pan.baidu.com/s/1Rqrnz8NY6UOiFemYQv-63Q 提取码:8nio

第二步:将当中的zip文件传输到目标文件夹下,然后使用unzip targe.zip进行解压,进入解压文件下,将CMakeLists.txt中的注释掉,会节省大量时间。

 再进入muduo/base/ 将里面的Date.h文件加入头文件#include<ctime>, 在回到最初目录下循行build.sh构建项目。

第三步:再将其安装到linux的搜索库路径和lib路径下 sudo ./build.sh install

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/888354.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

tensorflow快速入门--如何定义张量、定义网络结构、超参数设置、模型训练???

前言 由于最近学习的东西涉及到tensorflow的使用&#xff0c;故先简单的学习了一下tensorflow中如何定义张量、定义网络结构、超参数设置、模型训练的API调用过程&#xff1b;欢迎大家&#xff0c;收藏关注&#xff0c;本人将持续更新。 文章目录 1、基本操作1、张量基础操作创…

[Python] 编程入门:理解变量类型

文章目录 [toc] 整数常见操作 浮点数字符串字符串中混用引号问题字符串长度计算字符串拼接 布尔类型动态类型特性类型转换结语 收录专栏&#xff1a;[Python] 在编程中&#xff0c;变量是用于存储数据的容器&#xff0c;而不同的变量类型则用来存储不同种类的数据。Python 与 C…

爬虫——爬虫理论+request模块

一、爬虫理论 爬虫——请求网站并提取数据的自动化程序 网络爬虫&#xff08;又被称为网页蜘蛛&#xff0c;网络机器人&#xff09;就是模拟客户端发送网络请求&#xff0c;接收请求响应&#xff0c;一种按照一定的规则&#xff0c;自动的抓取互联网信息的程序。 原则上&…

SQL第12课——联结表

三点&#xff1a;什么是联结&#xff1f;为什么使用联结&#xff1f;如何编写使用联结的select语句 12.1 联结 SQL最强大的功能之一就是能在数据查询的执行中联结&#xff08;join)表。联结是利用SQL的select能执行的最重要的操作。 在使用联结前&#xff0c;需要了解关系表…

【数据结构 | PTA】栈

文章目录 7-1 汉诺塔的非递归实现7-2 出栈序列的合法性**7-3 简单计算器**7-4 盲盒包装流水线 7-1 汉诺塔的非递归实现 借助堆栈以非递归&#xff08;循环&#xff09;方式求解汉诺塔的问题&#xff08;n, a, b, c&#xff09;&#xff0c;即将N个盘子从起始柱&#xff08;标记…

Golang | Leetcode Golang题解之第447题回旋镖的数量

题目&#xff1a; 题解&#xff1a; func numberOfBoomerangs(points [][]int) (ans int) {for _, p : range points {cnt : map[int]int{}for _, q : range points {dis : (p[0]-q[0])*(p[0]-q[0]) (p[1]-q[1])*(p[1]-q[1])cnt[dis]}for _, m : range cnt {ans m * (m - 1)…

多功能快捷回复软件

各位亲爱的客服宝宝们&#xff0c;每天面对大量的客户咨询&#xff0c;您是否还在手动一个一个地打字回复呢&#xff1f;别担心&#xff0c;我们为您带来了一款多功能快捷回复软件——客服宝。有了它&#xff0c;您的工作将变得无比轻松&#xff01; 客服宝是一款集成了内容存储…

window下‘jps‘ 不是内部或外部命令,也不是可运行的程序或批处理文件,特别是使用idea开发工具的环境

1、在系统环境变量里面查看是否有JAVA_HOME环境变量&#xff0c;如果是用idea来管理环境变量的&#xff0c;需要如图设置指向jbr&#xff0c;如果是单独安装的jdk环境指向自己的安装目录即可 2、设置系统环境Path&#xff0c;需要把jre和bin添加进去

手写mybatis之把反射用到出神入化

前言 但在实操上&#xff0c;很多码农根本没法阅读框架源码。首先一个非常大的问题是&#xff0c;面对如此庞大的框架源码&#xff0c;不知道从哪下手。与平常的业务需求开发相比&#xff0c;框架源码中运用了大量的设计原则和设计模式对系统功能进行解耦和实现&#xff0c;也使…

深度学习----------------------序列到序列学习(seq2seq)

目录 机器翻译Seq2seq编码器-解码器细节训练衡量生成序列的好坏的BLEU总结序列到序列学习实现循环神经网络编码器解码器通过零值化屏蔽不相关的项该部分总代码 通过扩展softmax交叉熵损失函数来遮蔽不相关的预测训练预测BLEU的代码实现该部分总代码 机器翻译 给定一个源语言的…

IDEA几大常用AI插件

文章目录 前言列表GPT中文版TalkXBito AIIDEA自带的AI 前言 最近AI、GPT特别火&#xff0c;IDEA里面又有一堆插件支持GPT&#xff0c;所以做个专题比较一下各个GPT插件 列表 先看idea的plugins里支持哪些&#xff0c;搜索“GPT”之后得到的&#xff0c;我用下来感觉第一第二和…

使用微服务Spring Cloud集成Kafka实现异步通信(消费者)

1、本文架构 本文目标是使用微服务Spring Cloud集成Kafka实现异步通信。其中Kafka Server部署在Ubuntu虚拟机上&#xff0c;微服务部署在Windows 11系统上&#xff0c;Kafka Producer微服务和Kafka Consumer微服务分别注册到Eureka注册中心。Kafka Producer和Kafka Consumer之…

无法编辑PDF文件?试试这3个解决方法!

PDF文件格式广泛应用于工作中&#xff0c;但有时候我们可能遇到无法编辑PDF文件的情况。这可能导致工作效率降低&#xff0c;特别是在需要修改文件内容时显得尤为棘手。遇到PDF不能编辑时&#xff0c;可以看看是否以下3个原因导致的。 原因一&#xff1a;PDF文件设置了编辑权限…

dockertop提示Failed to fetch extensions

解决办法&#xff1a;重装dockertop 第一步&#xff1a;卸载当前的dockertop 如果卸载过程中存在AlibabaProtect的相关软件关不掉&#xff0c;那么参考这篇文章&#xff1a;卸载AlibabaProtect 第二步&#xff1a;删除C:\Program Files路径下的Docker文件夹 第三步&#xff1…

YOLOv5复现(论文复现)

YOLOv5复现&#xff08;论文复现&#xff09; 本文所涉及所有资源均在传知代码平台可获取 文章目录 YOLOv5复现&#xff08;论文复现&#xff09;概述模型结构正负样本匹配策略损失计算数据增强使用方式训练测试验证Demo 概述 YOLOv5是由Ultralytics公司于2020年6月开源的目标检…

【架构】prometheus+grafana系统监控

文章目录 一、Prometheus简介二、Grafana简介三、PrometheusGrafana系统监控的实现四、优势与应用场景 参考 PrometheusGrafana系统监控是一个强大的组合&#xff0c;用于实时监控和分析系统的性能与状态。以下是对这一组合在系统监控中的详细解析&#xff1a; 一、Prometheus…

【牛顿迭代法求极小值】

牛顿迭代法求极小值 仅供参考 作业内容与要求 作业内容 作业要求 递交报告 代码 编程实现 计算偏导数 故上述非线性方程组的根可能为 f ( x , y ) f(x, y) f(x,y)的极值点&#xff0c;至于是极小值点还是极大值点或鞍点&#xff0c;就需要使用微积分中的黑塞矩阵来判断了。…

避雷!Google Adsense联盟营销七大投放误区

你是否在使用Google AdSense进行广告投放&#xff1f;你是否想进一步优化你的投放策略&#xff1f;那么这篇文章你不可错过啦&#xff01; Google AdSense为跨境商家提供了一个平台&#xff0c;我们可以通过展示相关广告来赚取收入。然而&#xff0c;即使是最有经验的商家也可…

C语言指针plus版练习

上期我们讲了进阶的指针&#xff0c;本期内容我们来强化一下上期学的内容 一、字符串左旋 实现一个函数&#xff0c;可以左旋字符串中的k个字符。 1.1 分析题目 假设字符串为abcde&#xff0c;左旋一个以后就变成bcdea&#xff0c;就是把第一个字符移到一个新的变量里面&#…

【C++篇】领略模板编程的进阶之美:参数巧思与编译的智慧

文章目录 C模板进阶编程前言第一章: 非类型模板参数1.1 什么是非类型模板参数&#xff1f;1.1.1 非类型模板参数的定义 1.2 非类型模板参数的注意事项1.3 非类型模板参数的使用场景示例&#xff1a;静态数组的实现 第二章: 模板的特化2.1 什么是模板特化&#xff1f;2.1.1 模板…