golang demo grpc

protobuf太好用,java之父叫我改用grpc

https://juejin.cn/post/7222096611635576891在上篇文章中,我们介绍了如何使用 Redis 存储 Protobuf 格式的数据。本文将介绍在 RPC 中也用上 Protobuf。 在一般项目架构中,前后端交互使用Json格式,后端服务间交互使用Protobuf格 ......
protobuf java grpc

Golang实现代理TCP客户端

目标网站pornhvb.com,代理服务器pornhvbproxy.com,通过代理服务器实现流量转发。 package main func handle(src net.Conn){ dst,err:=net.Dial("tcp","pornhvb.com:80") if err!=nil{ lo ......
客户端 客户 Golang TCP

RPC和GRPC

createdtime 20211122 updatedtime 20211124 author venki.chen 一、是什么1. 定义,是做什么用的?rpc是什么? ①在分布式计算,远程过程调用(英语:Remote Procedure Call,缩写为 RPC)是一个计算机通信协议。该协议允许 ......
GRPC RPC

golang实现RPC

一、RPC工作流程:摘自《go web编程》 二、go支持三个级别的RPC( HTTP,TCP,JSONRPC) 三、实现http的RPC实例: 3.1 GO RPC的函数只有符合以下条件才能被远程访问 函数必须是首字母是大写 必须有两个首字母大写的参数 第一个参数是接收的参数,第二个参数是返回给客 ......
golang RPC

Golang defer使用

学习于https://www.liwenzhou.com/posts/Go/function/的文章 1. defer的执行顺序类似于栈,“后进先出”,也就是最先defer的语句最后执行,而最后defer的最先执行 func main() { defer fmt.Println("1") defer ......
Golang defer

windows10下golang使用protobuf前奏

1.更改代理(方便步骤3) 方法一:go env -w GOPROXY="https://goproxy.cn" 颜色标注部分为代理 方法二:$env:GOPROXY="https://goproxy.cn" 该方法对我有效 http://mirrors.aliyun.com/goproxy/ 阿里 ......
前奏 protobuf windows golang 10

golang net/rpc inject data to service function

在golang中,net/rpc库比较牛,只需要写函数,然后使用现成的 ServerCodec 就可以完成rpc服务了。但是有个问题,service函数的参数都是来自客户端的,如果服务器想为某个特殊的函数注入一些配置或状态参数,就不好弄了。 解决方案: 修改service函数,比如原来的参数是 Fu ......
function service golang inject data

golang 反编译

使用反汇编工具 可以使用反汇编工具将Go程序反汇编为汇编代码。常用的工具有go tool objdump和llvm-objdump等。使用这些工具可以将机器码转换为汇编代码,但是汇编代码并不易于阅读。使用反编译工具 可以使用反编译工具将Go程序反编译为高级语言代码,如C或者C++。常用的工具有Hex ......
golang

hyperf3搭建grpc demo

搭建环境如果是linux因为默认版本的gcc是4.8.5编译安装grpc失败,必须升级gcc的版本可以参考《php 安装 grpc 扩展》。 gcc重新编译比较耗时所以还是比较建议用docker Dockerfile FROM php:8.1 # 安装必要的工具和依赖 RUN apt-get upd ......
hyperf3 hyperf grpc demo

API 接口主流协议有哪些?如何创建 HTTP/HTTP、WebSocket/WebSockets、TCP/UDP、gRPC、SOAP、Dubbo/HSF 等不同协议?

API 接口协议繁多,不同的协议有着不同的使用场景。70% 互联网应用开发者日常仅会接触到最通用的 HTTP 协议,相信大家希望了解更多其他协议的信息。我们今天会给大家介绍各种 API 接口主流协议和他们之间的关系。 1、API 接口主流协议有哪些? 接口协议分成两类: 传输层协议和应用层协议。 传 ......
HTTP WebSockets WebSocket 接口 主流

交叉编译gRPC

重点要参考官方文档:https://github.com/grpc/grpc/blob/master/test/distrib/cpp/run_distrib_test_cmake_aarch64_cross.sh 如果要支持AG35或AG55X,要修改camke config. 按官方文档可能还需 ......
gRPC

golang中通过原始socket实现tcp/udp的服务端和客户端示例

这些天稍微空点,总结下golang中通过tcp/udp实现服务端客户端的编程实现,毕竟长久以来,如果要截单的http服务,我们直接使用net/http包实现服务,或者使用框架如gin/echo/beego等。 以下就直接上代码,稍微看看都能懂起。 1.TCP的实现 server package ma ......
示例 客户端 客户 golang socket

golang 中常用的超时控制的方案示例

在 go 中,我们很容易就可以实现超时控制,今天分享2种解决方案: 1.select + time.After 2.select + context 其实两种方案中,我们都是通过 channel 来控制的,在方案1中,对于 time.After, 通过返回一个只读 <- chan Time 实现,而 ......
示例 常用 方案 golang

A simple ROS2demo using fastdds

Statement Here I will do a simple experment about the Publisher/Subscriber model in BOTH FastDDS and ROS2(humble, latest), as well as cross communicat ......
ROS2demo fastdds simple 2demo using

Qt开发技术:Q3D图表开发笔记(三):Q3DSurface三维曲面图介绍、Demo以及代码详解

前言 qt提供了q3d进行三维开发,虽然这个框架没有得到大量运用也不是那么成功,性能上也有很大的欠缺,但是普通的点到为止的应用展示还是可以的。 其中就包括华丽绚烂的三维图表,数据量不大的时候是可以使用的。 前面介绍了基础的q3d散点图、柱状图,本篇介绍基础的三维曲面图。 Demo:Q3DSurfac ......

使用obd demo快速部署单副本oceanbase集群(离线)

环境介绍: centos 7.6 可用内存不少于8G 安装目录空间不少于50G(默认安装在当前安装用户的家目录下) 1. 什么是obd? odb是oceanbase社区版部署工具oceanbase deployer的简称,通过obd可以快速完成oceanbase clusterr的部署。 不传入配置 ......
副本 集群 oceanbase demo obd

node可以用nvm快速切换版本,golang如何快速切换版本?用gvm就行。

使用 gvm 可以带来以下好处: 快速切换 Golang 版本,方便进行版本测试和开发; 可以在多个项目中同时使用不同版本的 Golang 包和工具,避免冲突; 可以通过 gvm 管理不同版本的 Golang,方便安装、卸载和更新; 可以自由选择 Golang 的镜像源,下载更快。 我使用的是win ......
版本 golang node gvm nvm

Golang 知识点

make 和 new 的区别: make 用于创建切片、映射和通道,返回的是创建类型的引用。 new 用于创建任意类型的指针,返回的是该类型的指针。 // make 用法示例 slice := make([]int, 5) // 创建一个包含5个元素的整型切片 // new 用法示例 var poi ......
知识点 知识 Golang

枚举实现方式demo

class Program { static void Main(string[] args) { Console.WriteLine(INSTRUCTION_STATUS.新建); Console.ReadKey(); } } class INSTRUCTION_STATUS { public c ......
方式 demo

golang 编译问题:gorm.io/plugin/dbresolver@v1.2.1/dbresolver.go:139:18: cannot use map[string]gorm.Stmt{} (value of type map[string]gorm.Stmt) as type map[string]*gorm.Stmt in struct literal

golang 执行 sh build 来编译项目时,发现了有报错 pkg/mod/gorm.io/plugin/dbresolver@v1.2.1/dbresolver.go:139:18: cannot use map[string]gorm.Stmt{} (value of type map[s ......
gorm string dbresolver Stmt map

obd demo快速部署单副本oceanbase(在线)

资源要求: 可用内存不少于8G 安装目录空间不少于50G(默认安装在当前安装用户的家目录下) 1. 什么是obd? odb是oceanbase社区版部署工具oceanbase deployer的简称,通过obd可以快速完成oceanbase clusterr的部署。 不传入配置文件的情况下,在单机通 ......
副本 oceanbase demo obd

网易云信SDK示例demo下载,运行报错

pod install 后报错 File not found: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/arc/libarclite_iphonesimulator. ......
示例 demo SDK

[golang]jwt生成与解析

golang-jwt是go语言中用来生成和解析jwt的一个第三方库,早先版本也叫jwt-go。本文中使用目前最新的v5版本。 ......
golang jwt

golang打包和部署到centos

项目在golang开发好,打包上传到linux服务器运行,两步: 1、打包; 在控制台项目于目录下,执行下列命令 set GOOS=linux set GOARCH=amd64 go build -o "packageName" 如下图所示: 会生成一个没有后缀的二进制文件main 2、生成main ......
golang centos

dbatools demo

break #从PowerShell Gallery 安装dbatools模组 Install-Module dbatools <# 01.查找SQL实例 02.连接SQL实例 03.检查备份 04.检查磁盘空间 05.备份数据库 06.安装欧拉维护工具 07.运行Job 08.测试备份 09.查看 ......
dbatools demo

gRPC入门

1. gRPC简介 gRPC是一种高性能、开源和通用的远程过程调用(RPC)框架,由Google开源并维护。它使用Protocol Buffers(protobuf)作为接口定义语言(IDL),提供跨平台、跨语言的RPC调用支持。gRPC具有以下几个特点: 高性能:使用HTTP/2协议,支持多路复用 ......
gRPC

TS初始化Demo

初始化Demo需要的文件 初始化tsconfig.json文件 tsc --init 初始化package.json文件 npm init 使用rollup打包,packge.json文件中加入依赖 { "scripts": { "test": "echo \"Error: no test spec ......
Demo

scrypt golang 登录demo

Crafted by Genie You scrypt golang 登录demo Genie 以下是一个使用Go编写的简单登录Demo,它使用了scrypt来加密和验证密码: package main import ( "fmt" "golang.org/x/crypto/scrypt" ) fu ......
scrypt golang demo

主机资源情况监视器demo

import paramiko # 导入paramiko模块用于SSH连接 import psutil # 导入psutil模块用于获取系统信息 import wx # 导入wx模块用于构建GUI应用程序 class RemoteMonitor(wx.Frame): # 定义RemoteMonito ......
监视器 主机 情况 资源 demo

Golang一日一库之logrus

前言 之前一篇文章介绍了 日志库zap https://www.cnblogs.com/zichliang/p/17311480.html 毋庸置疑,zap库无论是Golang在项目中 还是生产中都极其优秀的一个数据库,而且他是当今Go最快的日志库 性能最高的日志库。 但是今天缺不是来说他的,今天介 ......
Golang logrus