- 博客(5)
- 资源 (155)
- 问答 (1)
- 收藏
- 关注
原创 从零开始写Go网络通信框架(4)——全双工收发消息
经过上面三篇文章,我们已经写了一个简单的C/S框架,可以实现客户端与服务端进行发送消息。但这是一个单向通讯的。我们要想让客户端接收服务端发来的命令,并执行响应的动作,就需要写成全双工收发消息。即客户端也能接收服务端发来的指令。下面我在客户端定义一个方法,用来接收服务端的消息。//接收服务端发来的消息func ReadMsg(conn net.Conn) { //存储被截断的数据
2017-06-23 17:08:30 2057
原创 从零开始写Go网络通信框架(3)——对长连接的处理
我要写的这个通讯框架,主要用于监控。那么就会有多个客户端建立不关闭的长连接,这对服务端的开销是很大的。我这里对长连接的处理方式是:Server端收到Client端发来的信息之后,开始心跳计时,在设定时间内如果收到Client发来的消息,则重置计时器,否则计时结束断开连接。在Client端,我的处理方式是:用time.NewTicker创建一个定时器,每间隔一秒发送下当前时间到服务器。为简便
2017-06-22 11:54:29 2084
原创 从零开始写Go网络通信框架(2)——自定义通讯协议
在Server和Client通讯过程中,难免有网络波动,Client有可能无法将信息一次性完整发送而采用分片传送,最终到Server端可能就是多个数据段,我们要拼接这些数据端才能最终还原成原始数据。那么问题来了,怎样才能知道分段数据中的开头和结尾呢?这时候我们就需要自定义通讯协议来解决这个问题。参考:http://blog.csdn.net/ahlxt123/article/details/4
2017-06-19 18:57:31 2343
原创 从零开始写Go网络通信框架(1)——基本的Socket Client/Server的编写
用其他语言写Socket程序通常的步骤是:服务端:Socket——>bind——>listen——>accept——>read/recv和write/send——>close客户端:Socket——>connect——>read/recv和write/send——>close而在Go语言中,写Socket程序被简化为:服务端:Listen——>Accept——>Read/Write
2017-06-18 16:17:58 2230
原创 《scope源码解析4——main.go》
其实前三篇根本算不上源码分析,只是对项目的简单了解和环境的搭建。而从这一篇开始,我们才真正能接触到scope项目的源码。
2017-06-01 10:26:14 651 2
批量搜索利器V1.6
2013-07-04
利用社会工程学骗取VIP教程的Key的冷思考
2013-01-03
TA创建的收藏夹 TA关注的收藏夹
TA关注的人