![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Golang语言高并发服务器开发
栽楞头子
这个作者很懒,什么都没留下…
展开
-
十、正则表达式的学习与Golang操作使用正则表达式
文章目录正则表达式:----字符:----字符测试:----小数测试:-----次数:---- 单元限定符:Go语言使用正则:---- 步骤:----- 提取网页标签数据:正则表达式:能使用 string、strings、strcnov 包函数解决的问题,首选使用库函数。 其次再选择正则表达式。----字符:“.”: 匹配任意一个字符"[ ]": 匹配 [ ] 内任意一个字符。 “-”:指定范围: a-z、A-Z、0-9"^": 取反。 使用在 [ ] 内部。[^xy]8 [[:d原创 2021-02-09 21:02:05 · 743 阅读 · 0 评论 -
九、Golang网络编程:Go HTTP客户端服务器学习与开发
文章目录web工作方式:http和URL:http请求包:http应答包测试:http应答包格式:http WEB服务器:WEB服务器练习:将本地文件写到浏览器http WEB客户端:web工作方式:1. 客户端 ——> 访问 www.baidu.com ——> DNS 服务器。 返回 该域名对应的 IP地址。2. 客户端 ——> IP + port ——> 访问 网页数据。(TCP 连接。 HTTP协议。)http和URL:http 超文本传输协议。规定了 浏览器访原创 2021-02-07 22:23:16 · 809 阅读 · 0 评论 -
八、Golang网络编程:UDP-CS代码实现与TCP比较
文章目录TCP通信:UDP通信:UDP服务器:UDP客户端:UDP服务器并发:TCP 和 UDP 比较:TCP通信:面向连接的,可靠的数据包传输。UDP通信:无连接的,不可靠的报文传递。UDP服务器:1. 创建 server端地址结构(IP + port) net.ResolveUDPAddr()2. 创建用于通信的socket, 绑定地址结构 udpConn = net.ListenUDP(“udp”, server端地址结构)3. defer udpConn.Close()原创 2021-01-31 21:55:40 · 192 阅读 · 0 评论 -
七、Golang网络编程:TCP状态转换和并发TCP-CS代码实现
文章目录TCP状态转换图:查看状态命令:TCP-CS并发服务器:TCP-CS并发客户端:TCP状态转换图:主动发起连接请求端: CLOSED —— 完成三次握手 —— ESTABLISEHED(数据通信状态)—— Dial()函数返回被动发起连接请求端: CLOSED —— 调用Accept()函数 —— LISTEN —— 完成三次握手 —— ESTABLISEHED (数据通信状态)—— Accept()函数返回 数据传递期间 —— ESTABLISEHED (数据通信状态)主动关闭连接原创 2021-01-29 20:54:57 · 557 阅读 · 0 评论 -
六、Golang网络编程:Socket和TCP-CS代码实现
文章目录协议:网络分层架构:各层功能:数据通信过程:总结通信过程:socket: 套接字网络应用设计模式:TCP-CS服务器:nc工具环境变量配置TCP-CS客户端:服务器判断关闭:TCP通信过程:协议:一组规则。要求使用协议的双方,必须严格遵守协议内容。网络分层架构:OSI七层模型结构体: 物、数、网、传、会、表、应TCP/IP 四层模型:数、网、传、应各层功能:链路层: ARP 源mac —— 目标mac ARP 协议作用: 借助 IP 获取 mac 地址。网络层:原创 2021-01-28 18:22:21 · 439 阅读 · 0 评论 -
五、Golang并发编程与同步机制:死锁与条件变量
文章目录死锁: 不是锁的一种!!!是一种错误使用锁导致的现象。互斥锁:(互斥量)读写锁:条件变量:死锁: 不是锁的一种!!!是一种错误使用锁导致的现象。1. 单go程自己死锁 channel 应该在 至少 2 个以上的 go程中进行通信。否则死锁!!!func main() { ch :=make(chan int) ch <- 789 num := <-ch fmt.Println("num = ", num)}2. go程间channel访问顺序导致死锁 使用原创 2021-01-26 21:55:33 · 284 阅读 · 0 评论 -
四、Golang并发编程:协程间通信与Channel
文章目录channel:定义channel:channel同步,数据传递:无缓冲channel: —— 同步通信有缓冲channel:—— 异步通信关闭channel:单向channel:生产者消费者模型:定时器:周期定时:select:select实现fibonacci数列:select 超时处理:channel: 是一种数据类型。 对应一个“管道”(通道 FIFO)channel的定义: make (chan 在channel中传递的数据类型, 容量) 容量= 0: 无缓冲channel,原创 2021-01-24 20:47:20 · 944 阅读 · 0 评论 -
三、Golang并发编程与协程Goroutine
并发编程与协程Groutine:并发、并行、进程、线程、协程、同步、Goroutine创建与特性等等。原创 2021-01-22 21:35:56 · 157 阅读 · 0 评论 -
二、Golang语法加强:结构体、字符串处理、文件操作和文件目录操作
Golang语言中结构体、文件操作和文件目录操作基础巩固加强,进行深入理解,下面的知识主要是在实际开发中实用的,为后续学习打好基础。原创 2021-01-21 21:09:03 · 376 阅读 · 0 评论 -
一、Golang语法加强:指针、切片、Map
Golang语言中指针、切片和map基础巩固加强,进行深入理解,下面的知识主要是在实际开发中比较实用,为后续学习打好基础。原创 2021-01-20 21:18:02 · 297 阅读 · 0 评论