自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(25)
  • 收藏
  • 关注

原创 go-server 一个在学习中形成的socket服务

go-server项目地址:https://github.com/zboyco/go-servergo-server 是我在学习golang的过程中,从最简单的socket一步一步改造形成的。目前功能如下:普通的tcp功能(废话)使用标准库bufio.Scanner实现拆包,可以直接使用bufio.Scanner内置的拆包协议提供普通OnMessage和命令路由两种使用模式采用实现...

2020-02-14 17:40:44 884

原创 Go实现简单的Socket服务端笔记(十)

添加Session容器,增加超时自动关闭Session功能本文代码查看github:https://github.com/zboyco/go-server/tree/step-10要实现超时管理,就需要有个地方保存所有的会话(session),我们采用 map 来存储所有的 session ,因为 session 的保存不需要顺序,同时也有删除和增加的功能,map 正好适合.增加一个池结构...

2020-02-13 15:08:10 198

原创 Go实现简单的Socket服务端笔记(九)

采用标准库scanner实现数据分离处理粘包参考http://feixiao.github.io/2016/05/08/bufio/使用标准库scanner实现数据分离处理粘包本文代码查看github:https://github.com/zboyco/go-server/tree/step-9直接使用scanner处理粘包,不用管理buffer,相对更加简单修改socket.go中...

2020-02-13 15:07:29 263

原创 Go实现简单的Socket服务端笔记(八)

session中Read方法实现粘包拆包处理定义简单协议,数据包头由4字节构成:第1位固定为’$’第2-3位为Body长度(uint16)第4位固定为’#’接收数据时若第1位和第4位不正确则认为接收到异常数据,同时关闭socket连接本文代码查看github:https://github.com/zboyco/go-server/tree/step-8为了实现粘包拆包处理,我们自...

2020-02-13 15:05:41 342

原创 Go实现简单的Socket服务端笔记(七)

Session增加唯一ID,拆分socket中的Read方法增加ID为了以后判断闲置超时; 拆分Read方法方便扩展协议本文代码查看github:https://github.com/zboyco/go-server/tree/step-7修改AppSession结构体,增加ID和activeDateTime属性,为超时管理做准备//客户端结构体type AppSession st...

2020-02-13 15:04:47 253

原创 Go实现简单的Socket服务端笔记(六)

增加AppSession结构体OnMessage返回AppSession结构体,提供Send方法,服务器可以主动向客户端发送数据本文代码查看github:https://github.com/zboyco/go-server/tree/step-6新建一个AppSession结构体,将客户端会话放在AppSession中,方便扩展和管理在server目录中增加client.go文件代...

2020-02-13 15:04:08 184

原创 Go实现简单的Socket服务端笔记(五)

将读取的数据处理方法作为参数传入server中将 OnMessage 和 OnError 通过Server结构公开变量传入本文代码查看github:https://github.com/zboyco/go-server/tree/step-5项目结构如下:|-go-server|-server |-socket.gosocket.go 中,Server结构增加两个方法,用来输出接...

2020-02-13 15:03:33 210

原创 Go实现简单的Socket服务端笔记(四)

将创建socket的方法放入单独的包中本文代码查看github:https://github.com/zboyco/go-server/tree/step-4修改以下项目结构,将之前的代码放到server包中,main.go中直接调用就行了项目结构如下:|-go-server|-server |-socket.gosocket.go 中增加一个结构体,增加一个工厂函数用来返回一个...

2020-02-13 15:02:54 194 1

原创 Go实现简单的Socket服务端笔记(三)

利用goroutine实现同时多个客户端连接将数据读取放入单独的方法中,利用goroutine运行本文代码查看github:https://github.com/zboyco/go-server/tree/step-3要实现多个客户端连接,需要将每个客户端放入单独的线程处理,通常我们使用多线程实现这个功能,但Go语言提供的 goroutine, 可以非常方便的实现并行(goroutine并...

2020-02-13 15:02:20 205

原创 Go实现简单的Socket服务端笔记(二)

第二步 循环读取数据利用for循环,等待客户端发送数据本文代码查看github:https://github.com/zboyco/go-server/tree/step-2修改上一步的代码,让服务端循环接收客户端发送的消息,主要使用for循环,直接上代码package mainimport ( "fmt" "net")func main() { //定义一个本机端口...

2020-02-13 15:01:26 187

原创 Go实现简单的Socket服务端笔记(一)

###第一步 实现socket服务简单实现一个socket服务,能接收客户端连接并接收数据本文代码查看github:https://github.com/zboyco/go-server/tree/step-1Go语言的socket服务由标准库 net 提供,主要就使用三个方法.ResolveTCPAddr用于获取一个TCPAddrListenTCP开始监听Accep...

2020-02-13 15:00:46 453

原创 Go实现简单的Socket服务端笔记(零)

说明最近开始学习Go语言,尝试写一个简单的Socket服务端,计划实现以下一些功能:监听单个端口,支持多个客户端连接定义简单的协议,实现粘包拆包处理能设置会话闲置超时时间,周期性关闭超时的会话记录会话连接,关闭,错误日志还没想好下面一步步的实现吧,我是新手项目地址:https://github.com/zboyco/go-server...

2020-02-12 18:54:00 182

原创 Android Post文件到服务器问题记录

该篇记录的程序,使用的网络上的一段代码,只是在使用过程中出现问题,所以记录下来,方便以后使用,原程序地址如下:http://greatverve.cnblogs.com/archive/2011/12/23/android-upload.html问题:执行到 conn.getOutputStream() 时,抛出IO错误。解决:Android 从4.0 开始,对于网络数据的操作,必

2014-12-07 20:36:51 487

原创 Android Notification通知简单使用DEMO

今天学习了一下Notification的简单使用方法,记录一下完整的例子

2014-11-21 22:55:18 1029

原创 C# 等比压缩图片,返回固定大小并居中

等比压缩图片,返回固定大小并居中,如果图片不是正方形,周围就是空白

2014-11-18 15:29:10 2162

原创 C# 根据图片exif调整方向

今天在用webuploader插件做上传图片

2014-11-18 15:17:02 4888 6

原创 C# FTP简单帮助类

最近做的项目需要用到FTP上传和下载文件,所以写这么一个帮助类,功能比较简单,可以

2014-11-13 09:31:16 803

原创 C# 生成自定义长度的0-z随机字符串

C# 生成自定义长度的0-z随机字符串:

2014-11-10 13:44:40 3182

原创 C# 复制文件夹

.net 中 Directory 类没有提供文件夹的复制方法,所以自己写一个用,如下:

2014-11-10 13:42:43 515

原创 利用百度地图API实现WEB定位

之前一直用google api 实现WEB的定位,但是现在

2014-11-06 15:24:14 7563 1

原创 Android Studio 中 View 的 setOnClickListener 添加方法(不能用this)

第一种,单个View各自添加:

2014-10-31 08:53:19 19882 5

原创 json.net 对象序列化和反序列化

公司项目需要用到JSON来存储数据,于是使用了JSON.NET,记录一下,方便下一次使用:public struct DataStructInfo { /// /// 字段名称 /// public string Name; /// /// 字段标签 ///

2014-10-11 15:15:34 491

原创 ubuntu中设置JDK默认版本

今天在ubuntu下设置好了JAVA环境后,安装android studio he

2014-10-02 12:10:50 6427

原创 Android 弹出系统menu菜单

今天在android开发时,在界面上

2014-09-29 15:37:04 1412

原创 Android WebView addJavascriptInterface无效原因

webSettings.setJavaScriptEnabled(true); mWebView.addJavascriptInterface(new Object() { @JavascriptInterface public void clickMoreOnAndroid() { mHandler.

2014-09-29 14:24:08 6577

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除