Golang 写一个简易版多人聊天室,望指点

2016-04-25 17:04:14 +08:00
 Zeffee

1.新手一枚,用空余时间写了个简易的多人聊天程序。写完但不知代码质量如何,望大牛们能指点下可改进的地方。

附上地址: https://github.com/sostuts/Chat

2.另外,请教下 tcp 接收信息的时候,除了 length,_:= net.Conn.Read() 可以获取到信息长度,还有其他方法吗?

1360 次点击
所在节点    Go 编程语言
7 条回复
chzyer
2016-04-25 22:25:34 +08:00
最常见都是通过 length + payload 来做协议的,而且 Write() 一次有可能需要多次 Read() 才能读完,所以一般的接收端代码是这样的

var length int32
binary.Read(conn, binary.Bigdian, &length)
payload := make([]byte, int(length))
io.ReadFull(conn, payload)
Zeffee
2016-04-25 22:29:35 +08:00
没人回😳
Zeffee
2016-04-25 22:32:09 +08:00
@chzyer 我回去试下, thx👌
susanDao
2016-04-26 09:15:35 +08:00
刚上手 go ,学习之。。
Zeffee
2016-04-26 20:46:02 +08:00
@susanDao 我也是接触 Go 差不多两周时间,,感觉 Go 还是挺不错的
oreo
2016-05-07 16:19:27 +08:00
可以,正好没东西.
Zeffee
2016-05-08 19:38:53 +08:00
@oreo ???

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/274293

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX