前段时间看到一篇博文<可在广域网部署运行的即时通讯系统 -- GGTalk总览(附源码下载)>,他是用C#实现的即时通讯系统,功能强大,界面漂亮. 就想用golang重写服务端,把代码下载回来,发现通信框架用的是ESFramework,我没用过也不知道ESFramework的协议,重写是不行的了,只能把原作者的客户端界面扣出来,自己写一个,客户端是C#+protobuf, 服务端是golang+protobuf,动起手来才发现,功能细节实在太多了,没精力搞下去了,就权当protobuf的学习例…
对golang protobuf 的扩展字段赋值时候一直提示proto: bad extension value type clkUrl:="z.cn" proto.SetExtension(seatbid, rtb.E_Clkurl, clkUrl) 查看源码后发现,对扩展字段赋值的时候会对第二个参数进行反射获取类型,判断第三个参数的类型和第二个是否匹配 , func SetExtension(pb Message, extension *ExtensionDesc, value i…
1.下载protobuf compiler sudo pacman -S protobuf 2.添加环境变量GOBIN export GOBIN=~/go/bin 3.下载golang依赖的包 go get -u github.com/golang/protobuf/protoc-gen-go…
1.安装库文件protobuf,地址:https://github.com/protocolbuffers/protobuf/releases 我电脑是deepin 64位的,所以我直接下载https://github.com/protocolbuffers/protobuf/releases/download/v3.9.1/protoc-3.9.1-linux-x86_64.zip $wget https://github.com/protocolbuffers/protobuf/releas…
问题说明:Apache服务总共有4个,是为了防止单点故障和负载均衡,负载均衡控制由局方的F5提供. 访问的内容在NAS存储上,现象是直接访问每个apache的服务内容都是没有问题,但是从负载地址过来的, 就报:AH01630 client denied by server configuration. 负载均衡地址:10.73.8.51,其中一个Apache服务地址是:10.73.8.52 ,NAS地址:10.73.8.60 网站采用了虚拟主机配置: <Directory "//10.73…
前言 之前的文章尤其是讲解GC的时候提到了很多的概念,比如内存溢出和内存泄露.并行与并发.Client模式和Server模式.Minor GC和Full GC,本文详细讲解下这些概念的区别. 内存溢出和内存泄露的区别 1.内存溢出 内存溢出指的是程序在申请内存的时候,没有足够大的空间可以分配了. 2.内存泄露 内存泄露指的是程序在申请内存之后,没有办法释放掉已经申请到内存,它始终占用着内存,即被分配的对象可达但无用.内存泄露一般都是因为内存中有一块很大的对象,但是无法释放. 从定义上可以看出,内…
 通常我们去大保健的时候,都会找姑娘问一下这里能提供什么服务,什么价格,这时候可能姑娘会跟你口述一些服务或者提供一份服务清单,这样的话大 家就可以做到童嫂无欺,这样一份活生生的例子,在wcf中同样是一个道理,只有client了解service能提供哪些功能,client才可以根据server提供的功能进行 消费,那问题来了,service怎么把功能提供给client进行选择呢???这个就是我这一篇要聊的wsdl(web service description language)... 一:wsd…
09-09 09:43:21.651: D/MediaPlayer(3340): Couldn't open file on client side, trying server side09-09 09:43:21.661: E/MediaPlayer(3340): attachNewPlayer called in state 128 使用MediaPlayer播放时第二次播放就遇到这个问题,看了下文档最简单的解决办法就是在每次调用播放之前,先reset一下player,就ok了…
在LAMP的配置过程中, 由于APACHE的版本问题, 即使是APACHE2和APACHE2.2也有很大的不同. 一般都有同一个环境配置多个虚拟网站的情况, 如果你在配置过程中遇到APACHE的不同版本的话, 你很有可能遇到如下的错误提示: 403 Forbidden You don't have permission to access / on this server 提示的信息很明显,就是没有权限, 可是, 这种语焉不详的提示是找不到任何有用的信息的, 遇到这种错误, 只能先去该站的日志中…
二.Navicat for Oracle的配置 1.启动该工具,出现如下的开始界面,单击“连接”选项,进行连接数据库,如图所示: 6.在“新建连接”对话框中,输入任意的连接名,选择默认的连接类型,输入oracle数据库所在的服务器地址,这里我选择是“localhost”,输入oracle的端口号“1521”,输入数据库的SID或者是该数据库所对应的服务名,输入用户名和密码,这里我使用的是“scott”,单击“连接测试”按钮,进行测试,看看是否成功,如图所示: 7.当我选择开始测试的时候,出现了错…