Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

实际运行中遇到的问题 #64

Open
CUMT-lty opened this issue Nov 28, 2023 · 1 comment
Open

实际运行中遇到的问题 #64

CUMT-lty opened this issue Nov 28, 2023 · 1 comment

Comments

@CUMT-lty
Copy link

作者您好,测试 /push/push 这个 api 层接口的时候,task 层遇到报错:INFO[0017] get rpc client err : no connect layer ip:
原因是在 /task/rpc.go 中的 connectRpc, err := RClient.GetRpcClientByServerId(serverId) 时,serverId 为空。
经过排查,发现此参数为空源头是在 logic 层 /logic/rpc.go 中执行 serverIdStr := RedisSessClient.Get(ctx, userSidKey).Val() 时,redis 中没有 userSidKey 这个变量值的 key,此 key 是以 "gochat_" 为前缀,定义为 config 中的常量,该常量只被使用过一次就是在 func (logic *Logic) getUserKey(authKey string) string 这个方法中,除此之外就没有了。

这里这个从 logic 层带到 task 层的 serverId 的作用是什么,代码衔接是否有逻辑上的错误。

@LockGit
Copy link
Owner

LockGit commented Nov 28, 2023

根据消息内容(userId,roomId,serverId)可以定位用户目前在connect层那一个serverId上保持长链接,具体看 readme 文档中的:消息投递部分的解释

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants