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.mzph.cn/diannao/55596.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

VirtualBox Ubuntu22.04 NOI linux2.0 Terminal无法打开 终端打不开 两步解决法儿

新安装的虚拟机无法打开Terminal&#xff0c;从应用列表中单击Terminal&#xff0c;左上角任务栏会出现Terminal&#xff0c;并且鼠标转圈&#xff0c;但是过一会左上角Terminal消失&#xff0c;就像一切都没有来过。 解决办法&#xff1a; CTRL ALT F3 进入命令行模式&…

004集—— txt格式坐标写入cad(CAD—C#二次开发入门)

如图所示原始坐标格式&#xff0c;xy按空格分开&#xff0c;将坐标按顺序在cad中画成多段线&#xff1a; 坐标xy分开并按行重新输入txt&#xff0c;效果如下&#xff1a; 代码如下 &#xff1a; using Autodesk.AutoCAD.DatabaseServices; using Autodesk.AutoCAD.Runtime; us…

pytorch导入数据集

1、概念&#xff1a; Dataset&#xff1a;一种数据结构&#xff0c;存储数据及其标签 Dataloader&#xff1a;一种工具&#xff0c;可以将Dataset里的数据分批、打乱、批量加载并进行迭代等 &#xff08;方便模型训练和验证&#xff09; Dataset就像一个大书架&#xff0c;存…

trans-cinnamate 4-monooxygenase肉桂酸4-羟化酶C4H的克隆和功能鉴定-文献精读62

Cloning and functional characterization of two cinnamate 4-hydroxylase genes from Pyrus bretschneideri 两种从白梨&#xff08;Pyrus bretschneideri&#xff09;中克隆和功能鉴定的肉桂酸4-羟化酶基因 摘要 肉桂酸4-羟化酶&#xff08;C4H&#xff09;是植物苯丙素类…

SpringBoot+ElasticSearch7.12.1+Kibana7.12.1简单使用

案例简介 本案例是把日志数据保存到Elasticsearch的索引中&#xff0c;并通过Kibana图形化界面的开发工具给查询出来添加的日志数据&#xff0c;完成从0到1的简单使用 ElasticSearch职责用法简介 ElasticSearch用在哪 ElasticSearch在我这个案例中&#xff0c;不是用来缓解增…

GPU Puzzles讲解(二)

GPU-Puzzles项目是一个很棒的学习cuda编程的项目&#xff0c;可以让你学习到GPU编程和cuda核心并行编程的概念&#xff0c;通过一个个小问题让你理解cuda的编程和调用&#xff0c;创建共享显存空间&#xff0c;实现卷积和矩阵乘法等 https://github.com/srush/GPU-Puzzleshttp…

【正则表达式】粗浅学习

文章目录 1 背景介绍1.1 为什么要学习正则表达式&#xff1f;1.2 什么是正则表达式&#xff1f;1.3 正则表达式可以做什么&#xff1f; 2 基本语法3 典型案例3.1 正整数3.2 IPv4类型的IP地址3.2.1 点分10进制表示格式 1 背景介绍 1.1 为什么要学习正则表达式&#xff1f; 日常…

面试系列-分组Tire树匹配算法

自己写的分组Tire树匹配算法&#xff0c;该算法用于云南省人工智能重点实验室与云南电网合作项目&#xff08;云南电网敏感信息识别系统&#xff09;&#xff0c;用于快速匹配文本将项目中数据算法抽离出来&#xff0c;特此分享&#xff01;&#xff01;!可以实现动态的插入、删…

NVIDIA Hopper 架构深入

在 2022 年 NVIDIA GTC 主题演讲中,NVIDIA 首席执行官黄仁勋介绍了基于全新 NVIDIA Hopper GPU 架构的全新 NVIDIA H100 Tensor Core GPU。 文章目录 前言一、NVIDIA H100 Tensor Core GPU 简介二、NVIDIA H100 GPU 主要功能概述1. 新的流式多处理器 (SM) 具有许多性能和效率…

leetcode58:最后一个单词的长度

给你一个字符串 s&#xff0c;由若干单词组成&#xff0c;单词前后用一些空格字符隔开。返回字符串中 最后一个 单词的长度。 单词 是指仅由字母组成、不包含任何空格字符的最大 子字符串 。 示例 1&#xff1a; 输入&#xff1a;s "Hello World" 输出&#xff…

浅谈汽车智能座舱如何实现多通道音频

一、引言 随着汽车智能座舱的功能迭代发展&#xff0c;传统的 4 通道、6 通道、8 通道等音响系统难以在满足驾驶场景的需求&#xff0c;未来对于智能座舱音频质量和通道数会越来越高。接下来本文将浅析目前智能座舱如何实现音频功放&#xff0c;以及如何实现多路音频功放方案。…

iOS 多次获取图片主题色不一样

一个需求中&#xff0c;要求获取图片的主题色 代码如下 -(void)kk_getImage:(UIImage *)image fetchthemeColor:(void(^)(UIColor *color))callBack {dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{// 第一步 先把图片缩小 加快计算速度.…

C语言文件操作(上)(27)

文章目录 前言一、为什么要用文件&#xff1f;二、什么是文件&#xff1f;程序文件数据文件文件名文件类型文件缓冲区文件指针 三、流流的概念标准流 总结 前言 C语言可以直接操作文件&#xff0c;如果你是第一次听说这个特性&#xff0c;可能会眼前一亮&#xff0c;感到惊奇  …

MongoDB的安装与增删改查基本操作

MongoDB是一种非关系型数据库,是NoSQL语言,但是又是最接近关系型数据库的。内部存储不是表结构,但是可以对数据进行表结构的操作。 一、安装 在官网:Download MongoDB Community Server | MongoDB下载系统对应的版本进行安装即可 二、编辑器 在安装MongoDB后会自带一个编…

图片格式入门

主要参考资料&#xff1a; 常见的图片格式介绍: https://blog.csdn.net/cnds123/article/details/127165291 目录 像素图与矢量图像素图&#xff08;pixel image&#xff09;矢量图&#xff08;Vector graphics&#xff09; 像素图与矢量图 像素图&#xff08;pixel image&…

D3.js中国地图可视化

1、项目介绍 该项目来自Github&#xff0c;基于D3.js中国地图可视化。 D3.js is a JavaScript library for manipulating documents based on data. It uses HTML, SVG, and CSS to display data. The full name of D3 is "Data-Driven Documents," which means it a…

Spring Boot项目使用MyBatis Plus的详细步骤

在Spring Boot项目中使用MyBatis Plus&#xff0c;可以极大地简化数据库操作&#xff0c;提高开发效率。以下是在Spring Boot项目中集成和使用MyBatis Plus的详细步骤&#xff1a; 一、环境准备 确保已安装Java和Spring Boot&#xff1a;MyBatis Plus是基于Java和Spring Boot…

话术挂断之后是否处理事件

文章目录 前言联系我们解决方案方案一方案二 前言 流程&#xff1a;自动外呼进入机器人话术。问题&#xff1a;在机器人放音时用户挂断后&#xff0c;话术还会继续匹配流程&#xff0c;如果匹配上的是放音节点&#xff0c;还会进行放音&#xff0c;那么在数据库表conversation…

Redis 缓存策略详解:提升性能的四种常见模式

在现代分布式系统中&#xff0c;缓存是提升性能和减轻数据库负载的关键组件。Redis 作为一种高性能的内存数据库&#xff0c;被广泛应用于缓存层。本文将深入探讨几种常用的 Redis 缓存策略&#xff0c;包括旁路缓存模式&#xff08;Cache-Aside Pattern&#xff09;、读穿透模…

windows中C++调用dll文件的两种方式,QT QLibrary和Windows API

假设DLL文件名为 test.dll&#xff0c;函数 int add(int a.int b) 1.使用Windows API 的方式 #include <windows.h>extern "C" __declspec(dllexport) int add(int a, int b); // 定义函数typedef int (*AddFunction)(int, int); // 定义函数指针类型HMODULE …