自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(23)
  • 资源 (1)
  • 收藏
  • 关注

原创 windows下如何编译tengine

本文的主要宗旨是使用cygwin在windows下编译tengine, 同时使用tongsuo, 使tengine支持国密SSL. 本文的编译环境为win10专业版. 详细步骤如下.

2024-03-13 14:52:29 937

原创 如何使用ebpf统计某个端口的流量

如何使用ebpf统计某个端口的流量

2023-01-04 14:54:12 826 1

原创 如何使用ebpf kprobe探测内核函数

使用ebpf kprobe探测内核函数

2022-11-29 17:48:22 1171

原创 Linux下如何修改TCP数据包内容

Linux下如何修改TCP数据包内容

2022-08-19 10:41:29 2008

原创 listen函数backlog参数的一点探讨

listen函数backlog参数的一点探讨

2021-12-30 14:25:25 1617 2

原创 如何用ebpf开启tun网卡的TUNSETSTEERINGEBPF功能

如何用ebpf开启tun网卡的TUNSETSTEERINGEBPF功能

2021-12-25 14:32:04 1228

原创 如何使用linux源码编译bpf

如何使用linux源码编译bpf

2021-12-07 17:04:25 1397 1

原创 golang 官方json包增加自定义required字段

golang官方json包, 提供了omitempty标签, 而有时我们的需求是要求某个字段必须存在, 否则反序列化失败. 本文提供

2021-03-31 22:49:17 3137

原创 centos7 编译glib的遇到的问题

执行configure时遇到的问题如下:configure: error: Package requirements (libffi >= 3.0.0) were not met:No package 'libffi' foundConsider adjusting the PKG_CONFIG_PATH environment variable if youinstalled software in a non-standard prefix.Alternatively, you

2021-02-24 18:26:08 1203

原创 一个Linux下的TCP服务2

为了优化TCP服务效率, 本篇采用epoll技术

2020-12-16 11:08:23 157

原创 如何用golang访问hbase

hbase没有提供golang的API, 不过可以通过thrift服务进行访问. 本文主要分为3个部分: 1, 编译thrift工具; 2, 安装hbase; 3, 代码测试;1) 编译thrift工具: 我的编译环境是centos7, gcc版本是5.3.0; 我用的thrift版本是0.13.0, 下载地址如下: https://mirrors.tuna.tsinghua.edu.cn/apache/thrift/0.13.0/thrift-0.13.0...

2020-11-29 15:19:09 2023

原创 一个Linux下的TCP服务1

有几点设置:1, 设置了端口重复使用2, 设置了FD阻塞3, 每一个TCP请求都会开启一个线程去读FD4, 每个FD都设置了5秒的超时时间, 如果5秒还没有数据, 则回收相关资源退出代码如下:#include <sys/types.h> #include <sys/socket.h>#include <netinet/in.h>#include <sys/time.h>#include <errno.h&

2020-08-31 19:06:45 389

原创 golang使用channel实现broadcast

最近的一个项目需要一个类似于广播的功能, 当客户端连接到服务端以后, 需要把相同的一份数据分别发送给每个客户端, 功能虽然简单, 但是还是有坑, 主要的坑就是channel阻塞的问题. 所本文模拟了这个服务, 加深自己对channel的理解. 代码结构如下: 其中broad.go文件, 功能主要是监听client的注册(RegisterChan), 注销(UnregisterChan), 以及定时(time.NewTicker)这三个事件并维护一个m...

2020-06-30 19:22:19 950

原创 arm嵌入式系统下用golang读取扫码枪数据

项目背景: 成人本科的论文选题是用golang做一个简易的嵌入式POS机应用, 支持扫zfb/wx的在线支付二维码, 所以用c封装了几个函数给golang使用. 那这里面又涉及到了另一个问题, 如何使用arm版golang. 在我前面的文章里有一篇如何去编译arm版golang, 但是就这个项目而言, 我忽略了一个问题: golang调用c代码的时候, 需要指定gcc, 而我所指定的gcc是amd64架构, 就算直接copy到arm板子上也不能用, 还需要编译arm版gcc, 这就很麻烦...

2020-05-26 13:41:09 1342

原创 golang net包tcp超时设置并判断是否超时

golang的net包设置超时有三个函数, 定义在net.Conn, 它是一个interface, 如下:SetDeadline(ttime.Time)error // 设置读写超时, 如果超时, 会返回超时错误. 等同于同时设置以下两个函数.SetReadDeadline(ttime.Time)error // 设置读超时,如果超时, 会返回超时错误...

2020-03-31 22:52:37 5660

原创 ubuntu下用gc的方式编译arm版本的golang并测试

golang官方文档的介绍, go编译器可以支持12种指令集. 本文编译是arm版本的golang.编译环境:Linux ubuntu 5.0.0-32-generic #34~18.04.2-Ubuntu SMP Thu Oct 10 10:36:02 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux目标环境:Linux imx6ulevk 4....

2020-03-09 12:29:07 1244

原创 centos下用cmake安装gRPC c++并测试

<一> 预装必要依赖:sudo yum install make automake gcc gcc-c++ kernel-develautoconf libtool pkg-config或者简单粗暴:yum groupinstall "Development Tools" "Development Libraries"<二> 下载安装:1...

2020-03-01 19:28:39 1158

原创 以mosquitto为服务, 用golang实现简单的mqtt发布和订阅

最近的一个项目是在对接hk威视的一个平台, 他们的数据是通过MQTT协议进行发布的.而我之前从来没有接触过MQTT协议, 所以就基于mosquitto搭建了一个MQTT服务, 又写了一个测试文件, 以熟悉后续可能的相关操作.windows下的mosquitto的安装配置还是可以查看此教程, 还是比较详细的, 地址如下:https://www.cnblogs.com/zkwarrior...

2020-02-26 17:42:51 3808

原创 使用linux c开源库libwebsockets编写的websocket客户端

<一>: 背景19年中旬做的一个嵌入式项目, 应用层需要有一个心跳的功能,当时决定用websocket协议, 所以当时就研究了下libwebsockets的使用. 网上的资料并不多, 当时只能研究开源库提供的测试代码, 然后改改后就合并到项目里了. 这几天又把libwebsockets重新编译了下, 顺手重新写了一个简单的websocket客户端. 主要包含了以下三个功能:1...

2020-02-11 23:34:43 6599 24

原创 linux c websocket开源库libwebsockets的编译和使用

我在编译过程中出现了本文步骤4.1和4.2所解决的两个问题, 如果你也出现了相同的问题, 请根据4.1和4.2解决, 如果没有出现, 请略过步骤4. 现步骤如下:步骤1)下载解压, github地址如下:https://github.com/warmcat/libwebsockets步骤2)假如解压后的目录如此: /home/user/libwebsockets-master,...

2020-02-06 16:00:54 6157 6

原创 golang 任务队列(生产者消费者模型)

这段时间在做一个zfb在线支付项目, 用到了任务队列, 索性就用生产者消费者模型简单的撸了一把;不足之处, 请多多指教.1, 文件结构如下:2, taskqueue.go 代码如下:package taskqueueimport ( "container/list" "sync" "sync/atomic")// 等待协程的数量var waitRoutine ...

2020-01-02 14:52:55 2535 2

原创 windows下golang监控鼠标和键盘事件

最近一直在研究golang下监听键盘和鼠标的操作事件功能, github上有也有非常优秀的开源库robotgo, 它地址如下, 有兴趣的同学可以去研究下:https://github.com/go-vgo/robotgo但是目前它的键盘事件是阻塞的, 比如github上展示的一个例子package mainimport ( "fmt" "github.com/go-vg...

2019-12-23 21:13:54 9149 2

原创 linux c/c++ 字符串压缩成hex

说明:字符串 str = "35363738", 8个字节长度, 压缩成Hex后为4个字节, 分别为16进制的0x35, 0x36, 0x37, 0x38;问题:今天遇到了一个问题, 需要对一个无符号字符串压缩后判断第一个字节, 该无符号字符串是以"c5"开头, 压缩后第一个字节应该是0xc5.但是按照"前人"提供的方法, 总是不能正确压缩.但是像刚刚提到的"35363738"就能...

2019-12-10 17:48:00 561

websocket-client.html

这是离线的websocket client工具, 非常感谢提供此工具的网友. 这是离线的websocket client工具, 非常感谢提供此工具的网友. 这是离线的websocket client工具, 非常感谢提供此工具的网友. 这是离线的websocket client工具, 非常感谢提供此工具的网友. 这是离线的websocket client工具, 非常感谢提供此工具的网友.

2020-02-06

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除