chatroom icon indicating copy to clipboard operation
chatroom copied to clipboard

《Go 语言编程之旅:一起用 Go 做项目》 第四章:聊天室

Results 6 chatroom issues
Sort by recently updated
recently updated
newest added

全局users map在操作不用加锁吗?是否会出现并发操作问题?

```go if (data.ats != null) { data.ats.forEach(function (nickname) { if (nickname === '@' + that.curUser.nickname) { that.usertip = '有人 @ 你了'; } }) } ``` 将that.nickname改为that.curUser.nickname 就好了

``` func (u *User) SendMessage(ctx context.Context) { for msg := range u.MessageChannel { wsjson.Write(ctx, u.conn, msg) } } ``` 你这样的话,MessageChannel close了的话,这里不是一直循环

我这边用pprof查看了下,不return掉的话是会造成goroutine泄漏的。

https://github.com/go-programming-tour-book/chatroom/blob/297866eda4fa20a5b6551c08c3cf88393211fb0a/cmd/tcp/server.go#L117-L128 conn.Close()之后是不是应该return掉,不然select会阻塞造成goroutine泄漏吧