Golang Golang 的 socket 编程 (四):解决粘包问题及制定通信协议 一、概述 前面已经完成了一个完美的多并发 CS 模型,但美中不足的是没有解决粘包问题。 1.1 什么是粘包问题? 在网络传输中,数据都是通过数据流来传输的,也就是以比特来传输。传输的过程中我们可能会遇到各... 09 月 13 日402评论golang socket 阅读全文
Golang Golang 的 socket 编程 (三):并发 Server-Client 一、概述 上一篇实现了一个 server 和 client 通信,完成了小写转大写的功能,但是是一个单任务式的响应:客户端发送连接接收响应,程序结束;服务端则接收数据响应数据也结束!就实际需要而言,并没有很大... 09 月 13 日594评论golang socket 阅读全文
Golang Golang 的 socket 编程 (二):简单 client-server 一、概述 上一篇介绍了基本的函数和结构类型,这里就可以开始写服务端和客户端通信小程序了,通信的基本的流程如下: 如果服务端使用 Listen 来监听,那么可以不用 ResolveTCPAddr 函数。 现在我... 09 月 12 日336评论golang socket 阅读全文
Golang Golang 的 socket 编程 (一):常用数据结构和函数介绍 工作的原因接触到 socket,要使用 socket 实现一个长连接。之前只在 C/C++上用过 socket,而且在学校的时候也只是简单的做聊天室小程序,并没有涉及到长连接。突然用到工作项目上,心里还是有点悬... 09 月 12 日265评论golang socket 阅读全文
Golang Golang slice 的使用方法及注意事项 一、说明 切片 (slice) 是 golang 里面的可变长元素类型,不是数组或数组指针,本质是一个结构体。 slice 的声明如下 (位于安装目录下的 src/runtime/slice.go): [crayo... 08 月 26 日350评论golang 阅读全文
Golang Golang 中 JSON 解析结构体 一、 StructTag 介绍 StructTag 是 go 语言结构体中的一个标记字段,放在字段声明的后面,一般只有特定情况下会用到,如 json 的转化。 使用的时候只要把标记的字段用两个`包起来即可,标签内的... 08 月 25 日472评论golang json 阅读全文
Golang Golang 中 net/http 包使用方法之 http.Header 一、说明 http.Header 结构包含请求头信息,官方定义如下,其实就是一个 map[string][]string 结构: [crayon-6823a8ff44796607977401/] 二、常用方... 08 月 24 日958评论golang net/http 阅读全文
Golang Golang 中 net/http 包使用方法之 http.Response 一、说明 http.Response 是我们请求服务器之后得到的响应数据,结构如下: [crayon-6823a8ff449b8319453858/] 其中常用的属性说明如下: Status:响应状态,... 08 月 24 日3,598评论golang net/http 阅读全文
Golang Golang 中 range 的使用方法及注意事项 一、用法 range 类似迭代器,可以遍历数组,字符串,map 等等,对象的不同,返回的结果也不同。 [crayon-6823a8ff44b93916832885/] 结果: [crayon-6823a8... 08 月 20 日8841 golang 阅读全文
Golang Golang 中的常量和枚举 一、常量 golang 中的常量和其他语言里的常量大多相同,必须在编译期有确定的值。 [crayon-6823a8ff44fb9286434539/] 也可以使用常量组的形式来声明: [crayon-6... 08 月 15 日1,017评论golang 阅读全文