【C++】HP-Socket(一): 下载、Linux上编译、Windows远程编译Linux版本

1、简介

国产、高性能、跨平台网络通信框架。

作者于2024-01-01更新了Release版本v5.9.4,辛苦了,向作者致敬!

源码下载:
https://gitee.com/mirrors/hp-socket
https://github.com/ldcsaa/HP-Socket

2、编译

2.1 在Linux上编译

1)进入Linux/script目录:cd ~/git/HP-Socket-dev/Linux/script
2)对脚本添加可执行权限:~/git/HP-Socket-dev/Linux/script$ chmod +x *
3)运行编译脚本:compile.sh

~/git/HP-Socket-dev/Linux/script$ ./compile.sh 
Action: compile
------------------+---------------------------------------HP-Socket : v5.9.4 [BN:01]compile path : /home/laoer/git/hp-socket/HP-Socket-dev/Linux--platform : x64--compiler : g++--mem-allocator : mimalloc--with-debug-lib : true--udp-enabled : true--http-enabled : true--ssl-enabled : true--zlib-enabled : true--brotli-enabled : true--iconv-enabled : true
------------------+---------------------------------------
Are you sure? [Y/n]: 

4)安装:./install.sh -p 【安装路径

~/git/HP-Socket-dev/Linux/script$ ./install.sh -p /home/laoer/libs
Action: install
---------------+-------------------HP-Socket : v5.9.4 [BN:01]install path : /home/laoer/libslib path : /home/laoer/libs/lib64arch platform : x64install demos : true
---------------+-------------------
Are you sure? [Y/n]: y> create /home/laoer/libs/lib64/libhpsocket.a
……略> create /home/laoer/libs/include/hpsocket/SocketInterface.h
Done!

2.2 在Windows下远程编译Linux

2.2.1 在 Visual Studio 中安装 Linux 工具集

1)打开 Visual Studio Installer,点击“修改”
在这里插入图片描述

2)选择Linux开发工具集
在这里插入图片描述
3)安装

2.2.2 配置Linux服务器

1)本人使用VirtualBox虚拟机,需要先设置网卡连接方式为“”桥接网卡
在这里插入图片描述
2)安装 ssh-server

sudo apt install openssh-server

2.2.3 在 Visual Studio 中连接远程的Linux

在这里插入图片描述

2.2.4 编译

1)在根目录下创建MyWork,将HP-Socket源码源码拷贝至此
注意:为了和工程中的默认配置相同,需要将源码拷贝至此:~/MyWork/HP-Socket
在这里插入图片描述
2)打开工程
在这里插入图片描述
3)打开工程属性页
在工程上右键,点击“属性”
在这里插入图片描述
4)修改“远程生成计算机”,选择自己的远程连接
注意下面的远程根目录,要和实际的一致。
在这里插入图片描述
5)编译即可

本人对Visual Studio不熟,如果有错,请指正

3、编译demo

1)以teshecho为例,加载工程后如下图
在这里插入图片描述
2)同样需要修改三个项目的配置
在这里插入图片描述
3)如果报错找不到“Global”目录下的文件,需要在linux上将 “MyWork/HP-Socket/Linux/demo/global” 复制为“MyWork/HP-Socket/Linux/demo/Global”

4)可执行程序生成目录:~/MyWork/HP-Socket/Linux/demo/Debug/x64
在这里插入图片描述

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

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

相关文章

《Vue3 前端构建工具》 Vue-cli 与 Vite 创建项目的插件和配置对比

前言 2024 年 啦!Vue2 也于 2023.12.31 寿终正寝 ! 然而我的 Vue3 升级一再拖延(惭愧不已)~ 赶起来吧~ 今天用 vue-cli 和 vite 分别创建了 Vue3 项目,具体实现步骤见如下两篇。 《基于 Vue Cli4.x Vue3 TS styl…

OceanBase入选Gartner®云数据库管理系统魔力象限“荣誉提及”

近日,全球IT市场研究和咨询公司Gartner发布最新报告《Magic Quadrant™ for Cloud Database Management Systems》(全球云数据库管理系统魔力象限)。全自研分布式数据库 OceanBase 入选“荣誉提及”,2022 年推出的云数据库 OB Clo…

QT+OSG/osgEarth编译之五十二:Imath+Qt编译(一套代码、一套框架,跨平台编译,版本:Imath-0.13)

Qt+OSG/osgEarth跨平台编译(用Qt Creator组装各个库,实现一套代码、一套框架,跨平台编译)_qt + osgearth安装-CSDN博客 目录 1、Imath介绍 2、文件下载 3、文件分析 4、pr

优思学院|为什么精益生产在你的企业就不管用呢?

精益生产(Lean Production)是一种旨在提高效率、减少浪费、优化流程的生产管理理念。然而,尽管它的理念广受推崇,但在实际应用中,许多企业却发现精益生产似乎并不奏效。那么,问题出在哪里呢? 企…

基于华为ENSP模拟器-vlan划分网络

需求 不连外网的内网。需求隔离故障和隔离广播风暴,并要保证网络的连通。 解决方案使用三层交互机,设置vlan用于隔离网络,并在三层交互机为网关保证各个vlan之间的通讯。 实现 使用三层交互机,设置vlan用于隔离网络&#xff0…

TB-C/C++

1.main函数之前之后执行的代码 设置栈指针初始化静态变量和全局变量(.data段内容,已初始化且不为0)赋初值(.bss段内容,未初始化的全局变量和静态变量)传参(argc,argv)atexit() 在…

Paddle3D 2 雷达点云CenterPoint模型训练

2 Paddle3D 雷达点云CenterPoint模型训练–包含KITTI格式数据地址 2.0 数据集 百度DAIR-V2X开源路侧数据转kitti格式。 2.0.1 DAIR-V2X-I\velodyne中pcd格式的数据转为bin格式 参考源码:雷达点云数据.pcd格式转.bin格式 def pcd2bin():import numpy as npimport…

【EDA软件】国产嘉立创EDA使用

嘉立创(JLCPCB) 嘉立创(JLCPCB)提供的EDA专业版是一款在线的原理图设计与PCB设计工具,可以协助用户完成电子设计项目。以下是使用嘉立创EDA专业版的一般步骤: 注册与登录: 首先,你需…

实习知识整理11:确认订单并将订单的相关信息插入用户订单表和订单详情表

用户订单表: 订单详情表: 思路分析:首先我们需要知道当点击了确认订单按钮后,需要向后端传递哪些数据,先看用户订单表:ORDER_ID是不需要传的,这个可以在后台生成就行了;USER_ID是需要…

go http升级为websocket举例

当使用 Go 语言编写 WebSocket 服务器时,可以使用 net/http 包来处理客户端的 HTTP 请求,并将其升级为 WebSocket 连接。以下是一个简单的示例代码: go package main import ( "fmt" "log" "net/http…

docker commit之后镜像越来越大解决办法

每次对docker的镜像进行增删改之后,它的体积都会扩充,甚至大到5G左右,在项目中是不可以接受的。 查找变大的原因为: docker容器就是以便于移植和部署著称。那么在docker使用过程中,少不了对容器进行反复的的打包和部署…

2023年12月GESP C++七级编程题转Python真题解析

七、2023年12月GESP C(Python)七级编程题 2023年12月GESP Python最高六级,但C与Python同级编程题相同。本篇引用2023年12月GESPC七级编程题,用Python实现。 【七级编程题1】 【试题名称】:商品交易 时间限制:1.0 s 内存限制&…

大数据系列之:读取parquet文件统计数据量

大数据系列之:读取parquet文件统计数据量 一、Spark读取parquet文件统计数据量二、parquet-tools统计parquet文件数据量三、实际应用案例 一、Spark读取parquet文件统计数据量 首先,创建一个 SparkSession 对象: val spark SparkSession.b…

微信公众号请求获取相关权限后端代码

用微信的东西,总要避免到各种与微信那边的交互。 1.首先要有个接口,证明你是服务端(填写服务器配置) 接入概述 | 微信开放文档 主代码 /*** 服务器配置验证* param* return*/PassTokenGetMapping("/giveWxCheck")publi…

详解Vue3中的事件监听方式

本文主要介绍Vue3中的事件监听方式。 目录 一、v-on指令二、使用符号简写三、事件修饰符四、动态事件名五、常见的监听事件六、自定义事件 在Vue3中,事件监听的方式与Vue2有一些不同。 下面是Vue3中事件监听方式的详细介绍: 一、v-on指令 Vue3中仍然使…

​LeetCode解法汇总2487. 从链表中移除节点

目录链接: 力扣编程题-解法汇总_分享记录-CSDN博客 GitHub同步刷题项目: https://github.com/September26/java-algorithms 原题链接: 力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台 描述: 给你一个…

vue 使用 splice 删除元素UI视图不同步怎么办?

vue 使用 splice 删除元素UI视图不同步怎么办? https://www.zhihu.com/question/585036077?write#:~:text%E5%9C%A8Vue%E4%B8%AD%E4%BD%BF%E7%94%A8splice,%28%29%E6%96%B9%E6%B3%95%E5%88%A0%E9%99%A4%E6%95%B0%E7%BB%84%E4%B8%AD%E7%9A%84%E5%85%83%E7%B4%A0%E6%…

(PyTorch)TCN和RNN/LSTM/GRU结合实现时间序列预测

目录 I. 前言II. TCNIII. TCN-RNN/LSTM/GRU3.1 TCN-RNN3.2 TCN-LSTM3.3 TCN-GRU IV. 实验结果 I. 前言 前面已经写了一系列有关LSTM时间序列预测的文章: 深入理解PyTorch中LSTM的输入和输出(从input输入到Linear输出)PyTorch搭建LSTM实现时…

算法训练第五十二天|300. 最长递增子序列、674. 最长连续递增序列、718. 最长重复子数组

300. 最长递增子序列: 题目链接 给你一个整数数组 nums ,找到其中最长严格递增子序列的长度。 子序列 是由数组派生而来的序列,删除(或不删除)数组中的元素而不改变其余元素的顺序。例如,[3,6,2,7] 是数组…

Arduino驱动VL53L0X ToF激光测距传感器(距离传感器)

目录 1、传感器特性 2、硬件原理图 3、控制器和传感器连线图 4、驱动程序 VL53L0X激光测距传感器是一款基于意法半导体(STMicroelectronics&#