【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…

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

精益生产(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是需要…

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

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

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

用微信的东西,总要避免到各种与微信那边的交互。 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)官网 - 全球极客挚爱的技术成长平台 描述: 给你一个…

WPF容器的背景对鼠标事件的影响

背景:在实现鼠标拖动窗口的过程中发现对父容器设置了鼠标拖动窗口的事件MouseLeftButtonDown private void DragWindow(object sender, MouseButtonEventArgs e) {if (e.LeftButton MouseButtonState.Pressed)DragMove(); } 问题:非常困惑的是&#x…

C# windows服务程序开机自启动exe程序

我们使用传统的Process.Start(".exe")启动进程会遇到无法打开UI界面的问题,尤其是我们需要进行开启自启动程序设置时出现诸多问题,于是我们就想到采用windows服务开机自启动来创建启动一个新的exe程序,并且是显式运行。 首先是打开…

软件测试入门(知识汇总)

1、黑盒测试、白盒测试、灰盒测试 1.1 黑盒测试 黑盒测试又叫功能测试、数据驱动测试 或 基于需求规格说明书的功能测试。该类测试注重于测试软件的功能性需求。 采用这种测试方法,测试工程师把测试对象看作一个黑盒子,完全不考虑程序内部的逻辑结构和…

clickhouseSQL日期相关

1. 毫秒级时间戳转日期/小时 --13位时间戳转具体时间 toDateTime(report_time / 1000) as _c00 -- 获取时间戳对应的时间点整点(结果:%Y-%m-%d %H:00:00.0) eg:2022-09-28 23:00:00.0 toStartOfHour(toDateTime(report_time / 1000)) AS _10-- 获取时间…

Rust使用gRPC

需要先安装protoc(Protocol Buffers Compiler),可据此Protobuf Compiler Installation下载 第一步:创建项目 创建两个新的Rust项目,分别作为服务端与客户端: cargo new rust_grpc_servercargo new rust_grp…

【操作系统习题】处理机调度与死锁

一、单选题 FCFS算法的就绪队列是按照进程的()排列。 B A、等待时间 B、到达时间 C、响应时间 D、运行时间设有4个作业同时到达,每个作业的执行时间均为2个小时,它们在一台处理机上按单道方式执行,则平均周转时间为&a…

PAT 乙级 1042 字符统计

请编写程序,找出一段给定文字中出现最频繁的那个英文字母。 输入格式: 输入在一行中给出一个长度不超过 1000 的字符串。字符串由 ASCII 码表中任意可见字符及空格组成,至少包含 1 个英文字母,以回车结束(回车不算在内…

Winform中使用Fleck实现Websocket服务端并读取SQLite数据库中数据定时循环群发消息

场景 Winform中使用Websocket4Net实现Websocket客户端并定时存储接收数据到SQLite中: Winform中使用Websocket4Net实现Websocket客户端并定时存储接收数据到SQLite中-CSDN博客 Winform中操作Sqlite数据增删改查、程序启动时执行创建表初始化操作: Wi…