Go语言中文网 为您找到相关结果 458

Golang首字母大小写的意义

博客地址:https://www.jianshu.com/p/d3c33e243a71一、含义简介1.1、首字母大写 == public1.2、首字母小写 == private注意:这个 public 和 private 是相对于 go 文件首行 package 声明的包名来说二、package 声明的包名与该文件所处于实际文件系统中目录的关系2.1、一般情况下建议这个包名和所在的目录名保持一致,这样容易辨认。但不一致也是可以的,比如我在 src/aa/bb 目录下新建了 fab.go 文件,我在 fab.go 开头,声明包名 package pab,声明与实际目录不一致。 package pab type ( EventObserver struct { // 大写外包可访问 id int...阅读全文

博文 2019-10-26 19:32:44 aside section._1OhGeD

golang使用原始套接字构造UDP包

RAW SOCKET 介绍 TCP/IP协议中,最常见的就是原始(SOCKET_RAW)、tcp(SOCKET_STREAM)、udp(SOCKET_DGRA)三种套接字。原始套接字能够对底层传输进行控制,允许自行组装数据包,比如修改本地IP,发送Ping包,进行网络监听。这里不做详细介绍,要了解更多可以网上自己查询。 实现 这里先看IP头结构: 其中16位总长度包括IP头长度和数据的长度,8位协议填写17,因为UDP协议类型为17。这里要说明一下IP头中的首部校验,这个值只校验IP头部,不包含数据。这里给出校验算法,IP头和UDP头中使用的校验算法是一样的。 func checkSum(msg []byte) uint16 { sum := 0 for n := 1; n < len(ms...阅读全文

博文 2017-05-01 13:00:34 pinecone

关于golang在树莓派下获取ip和mac地址

前言 最近工作需要,需求为获取树莓派以太网ip地址和mac地址,看了下golang的文档,发现net.InterfaceByName可以完成这个目标。 实现 //以太网网卡名称为eth0 inter, err := net.InterfaceByName("eth0") if err != nil { log.Fatalln(err) } //mac地址 fmt.Println(inter.HardwareAddr.String()) addrs, err := inter.Addrs() if err != nil { log.Fatalln(err) } //ip地址一个ip4一个ip6 for _, addr := range addrs { fmt.Println(addr.Stri...阅读全文

博文 2017-04-28 03:00:36 pinecone

本站全面启用 HTTPS

HTTPS 已经成为了标配,Apple 公司在 iOS 推行 HTTPS,Google 在最新版本的 Chrome 浏览器中,对于有表单的页面,如果是 HTTP,会在地址栏直接显示“不安全”字样,安全性受到越来越多的重视。 为了顺应潮流,即日起,本站启用 HTTPS,目前 HTTP 方式还可以访问,一段时间后,会做自动重定向。欢迎大家使用 HTTPS 访问本站! 注:一些主题中,图片可能是 http 的,这样的页面,暂时不做处理...阅读全文

怎么修改自己网络的IP地址

在如今互联网时代,如果不懂点网络知识,那肯定out,不然你什么都不知道,现在什么都是用网络科技信息化等等一些高科技东西,例如现在出门都不带现金了,吃饭买东西娱乐等等都可以一个手机就可以解决,是的你没有听说,网络时代就是这么便捷和方便。这个事情已经持续已经好几年了,已不新鲜了,那么既然这么多人使用互联网,网络源自于WIFI,这么说就简单了,我们要想看新闻,聊天看电影电视剧,玩游戏是不是都需要连接WIFI,连接网络后就会有一个属于自己的IP地址,这样网络才有路径,知道去哪里来哪里,那么我们今天说的,怎么修改自己网络的IP地址呢。修改IP最简单快速的方法就是使用一个软件,这个软件就是迅速软件,那么这个软件去哪里下载呢,经过小编测试后非常实用,网上搜索迅速软件就可以下载的,首先下载后注册登录,软件里...阅读全文

golang web 从网页地址栏获得参数,然后输出

地址栏输入http://localhost:8880/user?Id=1&name=guo package mainimport ( //"database/sql" //_ "github.com/mattn/go-sqlite3" "fmt" "log" "net/http" //"strconv")func addUser(w http.ResponseWriter, req *http.Request) { userId := req.FormValue("Id") name := req.FormValue("name") out := userId + "-" + name log.Println(out) fmt.Fprintf(w, out)}func sayHello(w ...阅读全文

博文 2015-08-09 11:00:02 石头军

ipfs私有网络搭建

ipfs私有网络搭建准备工作:1、至少准备2个ipfs的节点2、创建一个共享秘钥3、配置需要相互共享的节点。一、准备IPFS节点。1、准备两台linux节点,我测试的系统是Ubuntu 18.04 LTS(点击可以下载)。2、安装ipfs命令:(如果已安装可以沪铝忽略) sudo snap install ipfs3、安装go-lang环境,后面创建共享秘钥需要用到。(如果已安装请忽略) sudo apt-get install golang4、安装git。(如果已经安装请忽略) sudo apt-get install git两台linux服务器均完成ipfs安装之后第一步准备工作便已完成。二、创建共享秘钥1、到github上面下载秘钥生成工具go-ipfs-swarm-key-gen。 ...阅读全文

博文 2018-07-24 18:34:49 embedsky

golang学习笔记-func函数

函数function - Go函数不支持 嵌套、重载和默认参数 - 但支持以下特性: 无需声明原形、不定长变参、多返回值、命令返回值参数、匿名函数、闭包 - 定义函数使用关键字func,且大括号不能另起一行(所有有大括号的均遵循此原则) - 函数也可以作为一种类型的使用,直接赋值给变量(匿名函数) 定义一个函数 格式:func name( 传入的变量1 类型,变量2 类型 ) [ 返回变量 类型,变量 类型 ]{ } - 传入的变量可以没有,也可以使多个 - 当传入的变量类型相同时,可以全部省略只留最后一个 func a(a,b,c int) {} - 返回值可以有多个,返回值类型相同,也可以只留最后一个,其中返回变量名称可以省略,省略的话,就需要每返回一个写一个变量的类型了,如果指定了返回...阅读全文

博文 2017-02-09 18:24:33 beyondlee2011

golang之大端序、小端序

一、概述 字节序:字节在电脑中存放时的序列与输入/输出时的序列;也指的是存放多字节数据的字节(byte)的顺序,典型的情况是整数在内存中的存放方式和网络传输的传输顺序。 先看下基本概念: 1、大端模式(Big endian):将高序字节存储在起始地址(按照从低地址到高地址的顺序存放数据的高位字节到低位字节) 2、小端模式(Little endian):将低序字节存储在起始地址(按照从低地址到高地址的顺序存放据的低位字节到高位字节) 在计算机领域中,大小端序是跟硬件的体系结构有关的。 举个栗子:如一个 var a = 0x11223344,对于这个变量的最高字节为0x11,最低字节为0x44。假设在内存中分配地址如下(地址都是连续的) ... 0x0001 0x0002 0x0003 0x00...阅读全文

博文 2019-01-24 11:34:45 神奇的考拉

golang CIDR 与 IpMask 互转解析

在网络设备上,没家厂商表示ip的形式各不相同,但可能表示的是同一个意思, 列如 10.95.134.192/29 = 10.95.134.192/255.255.255.248 CIDR表示方法:IP地址/网络ID的位数,比如10.95.134.192/29,其中用29位表示网络ID。 CIDR to IpMask _, ipNet, err := net.ParseCIDR("10.95.134.192/29") if err != nil { fmt.Println(err) } val := make([]byte, len(ipNet.Mask)) copy(val, ipNet.Mask) var s []string for _, i := range val[:] { s = ...阅读全文

博文 2018-11-15 01:34:40 包牙齿

golang(beego) 发送邮件

import ( "net/smtp" "strings" ) //发送邮件帮助类 func SendMail(user, password, host, to, subject, body, mailtype string) error { hp := strings.Split(host, ":") auth := smtp.PlainAuth("", user, password, hp[0]) var content_type string if mailtype == "html" { content_type = "Content-Type: text/" + mailtype + "; charset=UTF-8" } else { content_type = "Conten...阅读全文

博文 2015-11-15 10:00:01 zhifeiya

Go Web编程:Web基础

在用go开发web程序前,必须了解HTTP协议,对于没有接触过的人来说,强烈建议看下这两本书:《HTTP权威指南》和《图解HTTP》。 HTTP概述 我们平时上网,打开浏览器,输入网址后按下回车键,相应的Web页面就显示出来了。那这个过程到底是如何实现的呢? 先来看下面一张图: 上图很清楚的描述了一个用户访问一个web站点的过程。分为三步: 1. 通过客户端也就是浏览器输入URL网址,客户端通过DNS协议与DNS服务网络交互,获取域名对应的IP地址。 2. 浏览器再通过IP地址找到对应的IP服务器,并建立连接。浏览器发送 HTTP Request 包,服务器处理请求包,并返回 HTTP Response 包 3. 浏览器收到响应包后,绘制页面,等所有内容收到后,断开与该服务器之间的TCP连接...阅读全文

博文 2016-10-09 14:00:05 uudou

Android开发者必知的4个性能优化点

![2839725_610AndroidEvolution_1x.jpg](http://studygolang.qiniudn.com/151215/2dbc934753e3c7e4906b5fd6c41ee511.jpg) 在Android开发中,为避免各种各样的问题,开发人员需要对Android性能进行优化。而说到性能优化,熟悉安卓的童鞋应该都知道,包含很多方面,比如:I/O的优化、网络操作的优化、内存的优化、数据结构的优化等等。这么多优化的点,难免会出现有些被忽视的地方,今天小编和大家分享的就是在网上看到的一篇关于Android性能优化最易忽视的优化点,一起来看看吧。 一、ArrayList和Vector ArrayList和Vector都是内部以数组实现的Li...阅读全文

初识golang之函数

声明: func funcName(input1 type1, intput2 type2) (output1 type1, output2 type2) { ……………… //可以有多个返回值 return val1, val2 } 说明:golang中通过func来声明一个函数,函数可以有一个或者多个参数,每个参数后面带类型,通过,分隔;函数可以返回多个值,返回的个数要于声明时定义的返回个数相同,声明时可以不写返回的变量名,而直接使用类型(如果只有一个返回值且不声明返回值变量,那么可以省略返回值的括号,如果没有返回值,那么就直接省略最后的返回信息定义) 例: func SumAndProduct(a, b int) (int, int) { return a+b, a*b } func ...阅读全文

Proxyer 私有内网映射工具

私有内网映射工具 项目地址 github 项目地址 gitee 试用地址 http://test.proxyer.cn:6789/访问密码:12345678 现在市面上的内网映射工具,大部分都是收费的,收费的同时一般也只能够提供有限的网络带宽。造成这个问题最主要的原因是流量本来就非常贵,无论是谁提供内网映射服务都绕不过这个问题,而免费的内网映射工具,更无法保证提供优质的服务了。 当下互联网大部分的应用已经高度依赖可靠的网络带宽,网络带宽小,会极大的影响很多应用的体验,例如远程桌面、文件传输、视频监控等应用,带宽小体验非常差。 与此同时,云服务器的租用变得越来越简单,按流量收费的这种模式也逐渐兴起,在这种情况下,我们完全可以选择为自己或者团队搭建一个私有的内网映射服务。提供按质,按量的优质服务...阅读全文

博文 2020-03-08 21:32:39 khvysofq

Go语言中Socket通信之Tcp客户端

1、用法: (1)定义远程IP地址。使用net.ResolveTCPAddr()方法,定义一个TCP地址,做为目标连接地址。 (2)调用net.DialTCP("tcp",nil,remoteAddress) 方法,建立与remoteAddress的连接。这里的三参数分别是:协议名、本地IP、远程IP (3)可以学着调用连接对像中的一些常用方法。用于学习。 (4)试着写入一些消息。比如模拟发送请求响应头的内容。使用:conn.Write([]byte("HEAD / HTTP/1.0\r\n\r\n")) (5)接收内容:使用ioutil包下的 ReadAll方法。直接接收加[]byte,然后转为字符串输入即可。 2、代码: package main import ( "fmt" "io/i...阅读全文

博文 2016-03-09 10:00:01 songxingzhu

用Go开发可以内网活跃主机嗅探器

## 文章关键词 * go/golang * gopacket * 抓包 * pcap/libpcap * arp * nbns * mdns * manuf ## 程序截图 ![image.png](http://upload-images.jianshu.io/upload_images/6285600-cec041b47b5f7b1f.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240) ## 说明 本文对于Go语言本身的讲解不会太多,想把更多的时间花在几个网络协议的讲解上,希望本文对打算或正在用Go进行TCP/IP编程和抓包的朋友带来帮助。 github地址:[https://git...阅读全文

golang基础--Array数组

基本特性 格式: var Name [n],n>0 如: var a [10]int 表示,定义一个长度为10,元素类型为int性的数组 数组长度: 长度(len)也是数组类型的一部分,因此具有不同长度的数组为不同的类型。 如var a [2]int != var a [2]int 注意区分指向数组的指针和指针数组 // 指向数组的指针:变量是指针 a :=[...]int[9:1] //顶一个变量a的数组(长度为100,第100个元素为1) var p *[...]int = &a //定义一个p的变量,类型为指针 //指针数组:变量是数组,元素是指针(内存地址) x , y := 1,2 b :=[...]*int(&x,&y) print (p) print (b) /*输...阅读全文

博文 2018-07-12 13:30:34 failymao

make(map[int]string, 1) 这第二个参数 1是 map的大小?

在go的 包中显示make 第二个参数表示大小,我试着声明一个长度为1 的当长度超过1时 不应该换一块内存地址,重新存储?![111.png](https://static.studygolang.com/180130/de5e30f4c9cb18521dc9650645e2d3e5.png)![Screenshot 2018-01-30_21-17-09.png](https://static.studygolang.com/180130/99ef92273df2b4f71e62dfde99d0f874.png...阅读全文

C/Golang中的值传递和指针传递

-------------------------golang---------------------------------------------- package main import "fmt" func A(m int, n []int) { m = 100 n[0] = 99 fmt.Printf("After : &m=%p,&n=%p,n=%p\n", &m, &n, n) fmt.Printf(" m=%d,n=%v\n", m, n) } func main() { m := 300 n := []int{1, 2, 3} fmt.Printf("-----------origin--------------------\n") fmt.Printf("Befter ...阅读全文

【北京招聘】寻找go工做伙伴

各位go世界的工程师们,我们公司2017年即将在北京进行几个项目的开发运维工作,真诚需求共事伙伴,无论你是自由的独行侠还是拉帮结伙的团队派,我们都希望能跟你或你们一起合作发展~ 展示实力的平台已经搭建,就等你的到来 公司名称:合胜科技(华北分公司:北京合胜易达科技有限公司) 公司地址:北京市朝阳区北三环中路安华桥附近 联系电话:82129658 感兴趣的可直接联系,或将简历投递到hr-bj@mvs.com.cn ...阅读全文

[GoLang学习总结]Go语言中的Slice

概念 Slice切片是对底层数组Array的封装,在内存中的存储本质就是数组,体现为连续的内存块,Go语言中的数组定义之后,长度就已经固定了,在使用过程中并不能改变其长度,而Slice就可以看做一个长度可变的数组进行使用,最为关键的,是数组在使用的过程中都是值传递,将一个数组赋值给一个新变量或作为方法参数传递时,是将源数组在内存中完全复制了一份,而不是引用源数组在内存中的地址,为了满足内存空间的复用和数组元素的值的一致性的应用需求,Slice出现了,每个Slice都是都源数组在内存中的地址的一个引用,源数组可以衍生出多个Slice,Slice也可以继续衍生Slice,而内存中,始终只有源数组,当然,也有例外,后边再说。 用法 1.Slice的定义 Slice可以通过两种方式定义,一种是从源数...阅读全文

博文 2015-06-17 20:23:36 tiger435

Golang Map 实现 (二) map 的创建

本文在golang map 数据结构的基础上,学习一个make 是如何构造的。 map 创建示例 在golang 中,初始化一个map 算是有两种方式。 example1Map := make(map[int64]string) example2Map := make(map[int64]string, 100) 第一种方式默认不指定map的容量,第二种会指定后续map的容量估计为100,希望在创建的时候把空间就分配好。 当make创建map时,底层做了什么 对于不同的初始化方式,会使用不同的方式。下面是提供的几种初始化方法: // hint 就是 make 初始化map 的第二个参数 func makemap(t *maptype, hint int, h *hmap) *hmap fun...阅读全文

博文 2020-04-30 10:32:40 搬砖程序员带你飞

Go 博客平台 Pipe 1.6.0 发布,支持 sitemap

[Pipe](https://github.com/b3log/pipe) 是一款小而美的开源博客平台,使用 golang、Vue.js 编写。 v1.6.0 主要是支持了 sitemap 和 RSS 输出。 关于**独立账号体系**的特性正在通过社区进行投票,欢迎大家[前来支持](https://github.com/b3log/pipe/issues/117)! ### 安装 [下载](https://pan.baidu.com/s/1jHPtHLO)最新的 Pipe 包解压,进入解压目录直接运行 pipe/pipe.exe 可执行文件即可。 从 1.5.0 升级只需将已有的配置拷贝覆盖即可,启动后会自动升级。 ### 文档 * [Pipe 用...阅读全文

kubernets的网络插件:flannel

January 18, 2017 in Tech docker的网络方案 k8s的flannel模式 flannel模式原理 flannel模式的优缺点 部署及验证 kubernets的网络,从设计上来讲是“扁平、直接”的,即要求: 所有容器可以不使用NAT技术就可以与其他容器通信 所有节点(物理机 虚拟机 容器)都可以不使用NAT同容器通信 容器看到的IP地址和别的机器看到的IP是一致的 docker的网络方案 docker的网络支持如下四种: none host,与宿主机共享,占用宿主机资源 container,使用某容器的namespace,例如k8s的同一pod内的各个容器 bridge,挂到网桥docker0上,走iptables做NAT 实际上还有一种方法:先以none的方式ru...阅读全文

博文 2017-07-30 02:04:40 伊布

golang解析IP到城市jsonRPC服务教程

RESTful接口 请求URL: https://api.turboes.com/Tbsapi/v1/ip2addr?ip=219.140.227.235 请求方式: GET 参数: 参数名 类型 说明 ip url-qurey-string 可选 要查询的ip地址,如果不传这表示当前的ip 返回示例 { "code": 0, "data": { "Country": "中国", "Province": "湖北省", "City": "武汉", "ISP": "", "Latitude": 30.5801, "Longitude": 114.2734, "TimeZone": "Asia/Shanghai" } } json_rpc 地址: 121.40.238.123(IP地址更快) ap...阅读全文

博文 2018-03-13 14:34:42 trytv

为Emmylua添加UnityAPI代码提示

最近从之前的cocos creator前端开始转做unity前端,刚刚接触公司的项目。在环境搭建中遇到一些问题在此记录一下  我接到的项目不算复杂,Lua开发使用了IDEA系列编辑器(之前些golang的时候也用的他们家的GoLand),插件使用了Emmylua。关于Emmylua的使用心得随后我会再写一篇文章来记录,暂时理解不太深不适合此时来介绍。家常唠完了,进正题叭。  关于EmmyLua插件的安装我就不在赘述了,毕竟IDEA家的插件安装直接搜索and安装就ok了。这里主要说一下UnityAPI的代码提示问题。毕竟对于我这样的新手玩家来说,像lua这种脚本语言没有强类型的情况下想通过"."来查看类型有哪些方法是很难受的,而且也不利于学习的过程。所以我就去网上找添加UnityAPI提示的方...阅读全文

GO语言(golang)切片slice

/*640*60,创建于2013-5-24*/ var cpro_id = "u1290382"; 切片slice是引用类型 len()函数获取元素的个数 cap()获取数组的容量 1.申明方式 [php] (1)var a []int 与数组不同的是他不申明长度 (2)s2 := make([]int, 3, 10) //元素的类型,元素的数量,元素的容量 fmt.Println(len(s2), cap(s2)) 输出元素的数量和容量 [/php] 2.讲数组转换成切片 [php] a := [10]int{} fmt.Println(a) s1 := a[:10] //取前10个元素 [5:]取 5-最后的元素 fmt.Println(s1) [/php] 3.slice测试 [php...阅读全文

图解Go内存分配器

本文翻译自《A visual guide to Go Memory Allocator from scratch (Golang)》。 当我刚开始尝试了解Go的内存分配器时,我发现这真是一件可以令人发疯的事情,因为所有事情似乎都像一个神秘的黑盒(让我无从下手)。由于几乎所有技术魔法都隐藏在抽象之下,因此您需要逐一剥离这些抽象层才能理解它们。 在这篇文章中,我们就来这么做(剥离抽象层去了解隐藏在其下面的技术魔法)。如果您想了解有关Go内存分配器的知识,那么本篇文章正适合您。 一. 物理内存(Physical Memory)和虚拟内存(Virtual Memory) 每个内存分配器都需要使用由底层操作系统管理的虚拟内存空间(Virtual Memory Space)。让我们看看它是如何工作的吧。...阅读全文

自建ngrok服务支持https访问

前言 最近从事第三方平台代小程序实现业务开发,很多业务交互请求需要https,本地调试开发实现不了,不可能把部署到生产服务器调试,那又很不方便。我参考网上很多教程,很多不完整,不系统。我于是整理出完整教程当备用。 专业术语 内网穿透,又叫NAT穿透,是计算机用语,翻译过来就是 你的电脑可以直接被你朋友访问。 通常我们的电脑是无法自己被访问的。因为我们的电脑缺少自己的独立的ip地址。现在ip稀缺,电信运营商已经不会随便分配固定ip给个人。 通常实现内网穿透,是通过路由器上端口映射来实现的。但是路由器通常不是每个人都有权限可以访问和设置,而且可能存在多级路由器较为复杂的网络结构。端口映射也无法实现。这就需要ngrok来实现了。 原理 ngrok 建立一个隧道,将主机A的http请求 传递给 主机...阅读全文

博文 2020-05-10 21:32:46 lichongbing

go-proxy – Lvs PlayGround

go-proxy – Lvs PlayGroundgo-proxy ¶go-proxy是一个用 GO语言实现的代理服务器软件,当前仅支持对单站点进行代理。 http://go-lang.info是go-proxy的一个实例适用于linux的二进制执行文件: 下载使用方法:go-proxy --target=TARGET_SITE_DOMAIN --port=[7023] --porcs_num=[2] [--debug] [--version]例子:$./go-proxy --target=golang.org --port=8080 在浏览器中通过 http://[你的ip地址或域名]:8080 访问golang.org源码: http://svn:svn@svn.lvscar.info/...阅读全文

博文 2014-10-04 19:26:19 lexus

【时速云线上分享】第十一期:Radio Dream流媒体直播平台基于Docker的应用

以下整理自第十一期技术分享内容,由 时速云 史鑫磊 分享。 首先介绍一下背景,Radio Dream项目是一个开源项目,前身为五雷轰顶网络电台,这个项目是我个人逐渐打磨了将近两年,最开始是因为猫扑网络电台停播,我个人是猫扑电台的老听众,很舍不得这个平台,后来想想,干脆自己做一个网络电台,就是因为这些想法催生了这个项目的成立。 说完背景开始聊聊这个电台的架构,我们从流媒体协议选型到架构实现等多个方面拆分的讲解这个平台实现方法,另外时速云镜像仓库里Radio Dream的镜像demo,总体来说这套系统部署起来还是十分复杂,虽然对系统要求极其低,单核心CPU,128M内存,20GB左右的硬盘就能跑起来,但是从最开始的架构设计我就打算做成一个集群化的方案,方便动态扩容,服务更多用户,...阅读全文

go语言web编程,初学点滴记录1

几乎所有代码都来自: http://jan.newmarch.name/go/ 感谢该作者 /* IP */ package main import ( "fmt" "net" "os" ) func main() { if len(os.Args) != 2 { fmt.Fprintf(os.Stderr, "Usage: %s ip-addr\n", os.Args[0]) os.Exit(1) } name := os.Args[1] addr := net.ParseIP(name) if addr == nil { fmt.Println("Invalid address") } else { fmt.Println("The address is ", addr.String()...阅读全文

博文 2014-10-04 19:26:29 明述道长

使用Go和Let's Encrypt证书部署HTTPS

为什么要使用HTTPS?使用HTTPS的途径有哪些?如何用Go来部署HTTPS?拿出你的小本本,你要的干货都在这儿! HTTPS的好处我们已在之前的文章中提高好多。它加密浏览器和服务器之间的流量,保障你密码传输的安全,让你的页面加载速度飞快,有助于网站的SEO优化还有对HTTP网站百般嫌弃的浏览器厂商......这些都是使用HTTPS的理由。那么问题来了,怎样可以又快又好地部署HTTPS呢?使用第三方提供的HTTPS比如说CloudFlare,他们的免费方案为你那仅支持HTTP的网站提供仿HTTPS代理服务。要使用CloudFlare:配置你的域,使用CloudFlare的DNS服务器在CloudFlare的DNS设置中,将域指向你的服务器,并通将“状态”设为“DNS和HTTP代理服务器(C...阅读全文

博文 2017-07-17 04:06:30 亚洲诚信

Golang下bind: address already in use

今天测试给服务端发消息,结果忘了把端口正常关闭,再次启动时候发现进程运行不了,出现提示说端口地址被占用了,这是由于上次忘了关闭,导致端口还在被使用,所以只能自己在终端查找并手动关闭,具体方法如下: 在终端输入lsof -i:8000,查找被使用的端口,其中8000是端口号,如下图所示 查找结果.jpeg COMMAND表示进程名,PID表示进程编号,输入kill 4707 (4707就是PID) 如果还被占用,就输入kill -9 4707强制结束进程...阅读全文

博文 2018-12-19 15:34:50 单抽律化娜

解决golang使用elastic连接elasticsearch时自动转换连接地址

使用olivere/elastic连接elasticsearch时,发现连接地址明明输入的时候是公网地址,但是连接时会自动转换成内网地址或者docker中的ip地址,导致服务连接不上。 // 自动转换成docker中的ip导致无法连接服务 time="2019-02-15T20:04:26+08:00" level=error msg="Head http://172.17.0.2:9200: context deadline exceeded" 解决方法 client, _ := elastic.NewClient( // ... // 将sniff设置为false后,便不会自动转换地址 elastic.SetSniff(false), ...阅读全文

博文 2019-02-15 20:34:44 dom_chan