为了账号安全,请及时绑定邮箱和手机立即绑定

GO实现千万级WebSocket消息推送服务

小鱼儿老师 全栈工程师
难度中级
时长 1小时10分
学习人数
综合评分9.40
49人评价 查看评价
9.6 内容实用
9.3 简洁易懂
9.3 逻辑清晰

最赞回答 / zhaojunbo
closeChan 用来等待退出,里面是什么类型的chan其实是无所谓了。sync.Once的目的不是加锁,而是为了只执行一次任务

最新回答 / javasgl
response code :200 , 这是后端代码还是提供的是http 服务,你可能是改了代码后,忘记停止服务重新编译运行了停止原来的http服务,重新编译、运行就行了
WebSocket connection to 'ws://localhost:7777/ws' failed: Error during WebSocket handshake: Unexpected response code: 200,找了半天没有解决的方案

已采纳回答 / 小鱼儿老师
golang的channel资源是可以自动GC掉的,但也不要误认为所有的资源你都不需要主动释放,例如打开的文件或者连接,还是需要主动关闭底层资源的。
不使用 := 和 defer 少了golang的特色

已采纳回答 / 小鱼儿老师
主要是并发模型不同,GO写起来足够简单。
期待下一次的课程,时刻跟踪

最新回答 / 小鱼儿老师
楼上同学已经解释,我在另外一个问题中也作答了~

最新回答 / 小鱼儿老师
创建一个原子变量,每个连接可以+1分配到一个唯一ID,利用ID做hash取模到某个set中。
最后的课程总结很受用,十分期待老师的实战课程!
只能调用一次完全可以使用go内置的sync.Once,无需造轮子
老师写的go代码语法很c语言啊,看上去总觉得怪怪的
closeChan 改成 chan struct{} 类型更好些,毕竟是无关数据内容,只是关心有无数据
用 defer 处理资源回收 更好些吧 官方也推荐defer
课程须知
1、课程难度属于中级 2、有一定的编程经验,熟悉Golang基本语法以及网络相关基础知识 3、对GO语言、分布式高并发架构感兴趣
老师告诉你能学到什么?
1、了解高并发系统实现的技术难点 2、学习WebSocket协议原理与交互流程 3、掌握GO语言开发WebSocket的重要设计方法 4、了解高并发分布式系统的架构技术难点及解决方案

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消