- 博客(24)
- 资源 (1)
- 收藏
- 关注
原创 windows下如何编译tengine
本文的主要宗旨是使用cygwin在windows下编译tengine, 同时使用tongsuo, 使tengine支持国密SSL. 本文的编译环境为win10专业版. 详细步骤如下.
2024-03-13 14:52:29 1511 4
原创 golang 官方json包增加自定义required字段
golang官方json包, 提供了omitempty标签, 而有时我们的需求是要求某个字段必须存在, 否则反序列化失败. 本文提供
2021-03-31 22:49:17 3407
原创 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 1294
原创 如何用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 2189
原创 一个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 629
原创 golang使用channel实现broadcast
最近的一个项目需要一个类似于广播的功能, 当客户端连接到服务端以后, 需要把相同的一份数据分别发送给每个客户端, 功能虽然简单, 但是还是有坑, 主要的坑就是channel阻塞的问题. 所本文模拟了这个服务, 加深自己对channel的理解. 代码结构如下: 其中broad.go文件, 功能主要是监听client的注册(RegisterChan), 注销(UnregisterChan), 以及定时(time.NewTicker)这三个事件并维护一个m...
2020-06-30 19:22:19 1045
原创 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 1564
原创 golang net包tcp超时设置并判断是否超时
golang的net包设置超时有三个函数, 定义在net.Conn, 它是一个interface, 如下:SetDeadline(ttime.Time)error // 设置读写超时, 如果超时, 会返回超时错误. 等同于同时设置以下两个函数.SetReadDeadline(ttime.Time)error // 设置读超时,如果超时, 会返回超时错误...
2020-03-31 22:52:37 6173
原创 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 1340
原创 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 1201
原创 以mosquitto为服务, 用golang实现简单的mqtt发布和订阅
最近的一个项目是在对接hk威视的一个平台, 他们的数据是通过MQTT协议进行发布的.而我之前从来没有接触过MQTT协议, 所以就基于mosquitto搭建了一个MQTT服务, 又写了一个测试文件, 以熟悉后续可能的相关操作.windows下的mosquitto的安装配置还是可以查看此教程, 还是比较详细的, 地址如下:https://www.cnblogs.com/zkwarrior...
2020-02-26 17:42:51 3982
原创 使用linux c开源库libwebsockets编写的websocket客户端
<一>: 背景19年中旬做的一个嵌入式项目, 应用层需要有一个心跳的功能,当时决定用websocket协议, 所以当时就研究了下libwebsockets的使用. 网上的资料并不多, 当时只能研究开源库提供的测试代码, 然后改改后就合并到项目里了. 这几天又把libwebsockets重新编译了下, 顺手重新写了一个简单的websocket客户端. 主要包含了以下三个功能:1...
2020-02-11 23:34:43 8017 25
原创 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 7049 6
原创 golang 任务队列(生产者消费者模型)
这段时间在做一个zfb在线支付项目, 用到了任务队列, 索性就用生产者消费者模型简单的撸了一把;不足之处, 请多多指教.1, 文件结构如下:2, taskqueue.go 代码如下:package taskqueueimport ( "container/list" "sync" "sync/atomic")// 等待协程的数量var waitRoutine ...
2020-01-02 14:52:55 2609 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 10150 2
原创 linux c/c++ 字符串压缩成hex
说明:字符串 str = "35363738", 8个字节长度, 压缩成Hex后为4个字节, 分别为16进制的0x35, 0x36, 0x37, 0x38;问题:今天遇到了一个问题, 需要对一个无符号字符串压缩后判断第一个字节, 该无符号字符串是以"c5"开头, 压缩后第一个字节应该是0xc5.但是按照"前人"提供的方法, 总是不能正确压缩.但是像刚刚提到的"35363738"就能...
2019-12-10 17:48:00 758
websocket-client.html
2020-02-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人