golang
aixinaxc
这个作者很懒,什么都没留下…
展开
-
Lorca框架问题总结
lorca问题总结原创 2023-05-18 10:17:48 · 356 阅读 · 2 评论 -
关于Onvif协议获得快照需要身份验证问题
在网也输入用户名密码才可以访问,但是想通过代码获得快照就需要在代码中加入身份验证。通过网上查询大多数都是教大家设置basic验证的。但是你会发现你加入这个后还是返回401,这是因为有的摄像头采用的是其他身份验证方式,如乐橙采用的是。下面以go语言为例。原创 2023-03-02 11:32:02 · 620 阅读 · 2 评论 -
net包 listen - golang
在前面我们简单的了解了一下,如何构建客户端请求,同时简单的了解了他们之间的调用和封装关系。从而在封装方法在满足不了需求时,我们可以使用更底层一级的方法构建自己的需求。 今天我们看一下服务端的一些监听方法,在go中监听方法大致有 http.ListenAndServeTLS() http.ListenAndServe()...原创 2019-03-26 09:39:58 · 16335 阅读 · 0 评论 -
net包 dial - golang
最近一直和硬件打交道,而和这些硬件交互很多用到了socket。于是在使用的过程中同时简单的学习了一下net包的dial。 在go中,大致提供了5种dial,包括: 1. Dial(network, address string) (Conn, error) 2. DialTCP(network string, laddr, raddr *TCPAdd...原创 2019-03-24 11:39:47 · 11925 阅读 · 0 评论 -
java tcp socket 与 go tcp socket 的超时
最近因为做一个监控系统,在其中用到了大量的socket。由于平时很少用到socket,在使用过程中还是遇到了一些问题的。比如: 1.socket一般在不主动关闭的情况下阻塞时间一般是有系统本身决定的(这个时间一般都很长)。 2.超时一般有连接超时,和读写超时。对于刚接触socket的人很容易把代码中提供的超时方法理解为连接超时。这就导致了一些错误,同时没有...原创 2019-04-11 14:23:43 · 631 阅读 · 0 评论 -
bufio包 - golang
之前提到了和硬件打交道用到了dial,简单的学习了一下,知道了如何收发数据。但是当我们拿到数据后如何处理呢。对于一般的来说,数据比较简单,我们一般直接解析就行。但是有的你会拿到一个打包的文件流,然后需要你进行解析。在之前的使用中,就遇到一个比较复杂的数据流,需要分块解析。在那次中用到了go的bufio。 先让我们看一下下面的这个代码:func main() {...原创 2019-03-29 09:46:57 · 470 阅读 · 0 评论 -
tcp socket 错误篇2 - golang
先让我们看一段tcp 的socket代码: l, e := net.Listen("tcp", ":9090") //监听 if e != nil { fmt.Println(e) return } defer l.Close() for { c, e := l.Accept() if e != nil { ...原创 2019-04-13 15:35:24 · 3244 阅读 · 0 评论 -
udp socket - golang
前面说了几个tcp模式下的socket新手易错点,今天就来看看udp的新手易错点。 先让我们看一段代码: l, e := net.ListenPacket("udp", ":9090") if e != nil { fmt.Println(e) } b := make([]byte, 10) for { n...原创 2019-04-14 10:57:35 · 730 阅读 · 0 评论 -
java 和 go 的定时器对比
在做监控系统的时候,用到了定时任务来定时获取一些硬件的数据。于是就对比了一下go的定时任务实现和java的定时任务实现。这里只是对比了java的timer和go的time.NewTicker(),time.After(). 1. 延时执行的实现 go的用法为: timer := time.AfterFunc(1*time.Secon...原创 2019-04-18 10:22:47 · 335 阅读 · 0 评论 -
net包 http - golang
在上一篇文章中,主要学习了一下dial,主要用于一些tcp或者udp的socket连接。今天我们来看看net包中的http请求。在go中,主要给我们封装了4个基础请求让我们可以快速实现http请求,他们分别是:http.Get(url string)http.Head(url string)http.Post(url, contentType string, body i...原创 2019-03-25 17:30:12 · 321 阅读 · 0 评论 -
io包 copy - golang
在io包中主要是操作流的一些方法,今天主要学习一下copy。在io包(golang 版本 1.12)中,提供了3个公开的copy方法:CopyN(),Copy(),CopyBuffer().CopyN(dst,src,n) 为复制src 中 n 个字节到 dst。Copy(dst,src) 为复制src 全部到 dst 中。CopyBuffer(dst,src,buf)为指定一...原创 2019-03-16 09:18:12 · 4072 阅读 · 0 评论 -
对api返回信息的简单封装 - golang
在写api文档系统的时候,对api返回信息虽然做了简单封装,采用的是方法。但是在使用中感觉不是很方便,所以今天又做了一个重新封装。由于都是采用echo框架,所以这里并没有进行转json处理。 使用方法: RetunMsgFunc(Code200,0,nil) // 第一个定义的code码,第二个是数据数量,第三个数据 以下是封装的代码://--------Code返回...原创 2019-02-15 10:37:14 · 1886 阅读 · 0 评论 -
支付宝手机网页支付之golang版
本文章主要是通过golang实现了支付宝手机网页支付的简单封装,封装的基本都是请求的必传参数,如果需要其他参数,可以自己修改BizContent结构体来满足自己的需求。封装的文件大体分为4个文件:config.go 用来放基本配置参数,现在只放了需要用的rsa用户私钥和阿里rsa公钥,其中用户私钥本封装文件用的pkcs8的,你也可以修改为pkcs1的dao.go 主要是存放了B原创 2017-12-02 17:17:04 · 3262 阅读 · 2 评论 -
建造者模式-golang
在此篇中,我们将练习实现建造者模式。其中例子大致是菜鸟教程的例子翻版,此处采用golang实现。对于具体介绍大家可以去菜鸟教程学习(http://www.runoob.com/design-pattern/builder-pattern.html)package mainimport "fmt"func main() { menu := Menu{} HotDog := Pac...原创 2018-02-11 18:25:14 · 450 阅读 · 0 评论 -
策略模式-golang
在此篇中,将要练习策略模式。例子仍然是采用菜鸟教程(http://www.runoob.com/design-pattern/strategy-pattern.html)package mainimport "fmt"func main() { con := new(Content) con.Strategy = OperationAdd{} v := con.execu...原创 2018-02-11 21:03:05 · 287 阅读 · 0 评论 -
工厂模式-golang
此篇中主要是工厂模式的练习,具体可以看菜鸟教程(http://www.runoob.com/design-pattern/factory-pattern.html)package mainimport ( "fmt" "strings")func main() { s := Shape(Rectangle{}) s.draw() s = Shape(Circ...原创 2018-02-12 09:55:20 · 491 阅读 · 0 评论 -
组合模式-golang
此篇中主要是练习组合模式,具体可以看菜鸟教程(http://www.runoob.com/design-pattern/composite-pattern.html)package mainimport "fmt"func main() { ceo := Employee{name: "小张", dept: "ceo", salary: 10000} headSales := ...原创 2018-02-12 11:44:06 · 578 阅读 · 0 评论 -
适配器模式-golang
此篇中,主要练习的是适配器模式。具体可以看(http://www.runoob.com/design-pattern/adapter-pattern.html)package mainimport ( "fmt" "strings")func main() { play := AudioPlayer{} play.play("mp4","老人与海.mp4")}...原创 2018-02-12 16:04:29 · 531 阅读 · 0 评论 -
享元模式-golang
此篇中主要练习享元模式,具体可以看(http://www.runoob.com/design-pattern/flyweight-pattern.html)package mainimport ( "fmt" "math/rand")func main() { color := [...]string{"Red", "Green", "Blue", "White"原创 2018-02-15 15:57:52 · 511 阅读 · 0 评论 -
二叉树-golang
package mainimport "fmt"func main() { arr := []int{10, 5, 24, 30, 60, 40, 45, 15, 27, 49, 23, 42, 56, 12, 8, 55, 2, 9} fmt.Println(arr) t := creatTree(arr) preorder(t[0]) fmt.Print...原创 2018-02-17 15:10:54 · 1180 阅读 · 4 评论 -
微信jssdk基本使用
对于如何使用jssdk并没有,太大难度,对于不熟悉的人来说,最大的坑在它配置的过程中。 使用jssdk需要注意以下几点: 1.需要在微信公众平台设置js接口安全域名。需要注意的是此处你需要设置的是域名,使用ip是不行的。同时这个设置每个月只可以修改3次,大家要确定后再修改。2.后台需要通过appid,appsecret先获取到access_token,之后通过a原创 2017-12-11 20:36:58 · 13463 阅读 · 2 评论