< 返回版块

xbitlabs 发表于 2023-07-25 01:31

Tags:tokio mpsc

操作步骤及问题描述如下:
1、在下面的链接下载源码
2、运行im_server
3、运行im_client

这时im_server及im_client看起来都比较正常,im_server能正常收到im_client的心跳包,但是只要在im_client的控制台输入字符,然后回车发送,im_server及im_client都会报channel closed。im_client不输入文字发送就不会报这个错,百思不得其解,求大佬帮忙看下,谢谢!!!

注:运行前需要利用源码包里的chat.sql数据库脚本在mysql建一个名叫chat的数据库,然后修改application-dev.yml里的数据库连接。

报错源码链接:
https://files-cdn.cnblogs.com/files/xlabs/chat.rar

精简后不报错的源码,但是不知道上面报错的原因在哪里?
https://files.cnblogs.com/files/xlabs/chat1.rar?t=1690251012&download=true

评论区

写评论
作者 xbitlabs 2023-07-25 19:04

我自己看了一个晚上加一个上午才发出来的问题,想过了各种可能,结果却在一个小细节疏忽了

--
👇
Pikachu: 不能。

问题描述也只有一个channel close,结果代码里面好几个channels完全不清楚是哪个出问题。而且你都已经知道简化过后的程序没问题了,那就说明你删掉的部分有问题啊?在你删掉的那200多行代码里,你用tokio console也罢,用lldb也罢,或者干脆用dbg!大法也罢,总归是有办法缩小范围的。这样一步步缩小范围,总能找到真正导致问题的一小段代码。结果你只尝试了一次就又把问题往论坛上一扔,扪心自问你真的努力去debug了吗?

1000+行的程序,还要配置环境才能跑起来。我建议这种情况下你不如找淘宝,你掏钱他帮你debug要来得更直接一点。这种工作量的debug,往论坛上发不合适吧?

最后,这个代码看起来像是作业或者实践面试题,最起码我见过的生产代码没有这么简陋的。如果真是这样的话,建议自己多多努力。

作者 xbitlabs 2023-07-25 18:05

已解决,await多了一个问号导致的致命问题

Nayaka 2023-07-25 17:35

[doge]看来你还是粗略看了下代码的..

话说要是丢个github之类的,两个commit对比看着还清晰,这直接给压缩包,下载了还要用工具对比..

--
👇
Pikachu: 不能。

问题描述也只有一个channel close,结果代码里面好几个channels完全不清楚是哪个出问题。而且你都已经知道简化过后的程序没问题了,那就说明你删掉的部分有问题啊?在你删掉的那200多行代码里,你用tokio console也罢,用lldb也罢,或者干脆用dbg!大法也罢,总归是有办法缩小范围的。这样一步步缩小范围,总能找到真正导致问题的一小段代码。结果你只尝试了一次就又把问题往论坛上一扔,扪心自问你真的努力去debug了吗?

1000+行的程序,还要配置环境才能跑起来。我建议这种情况下你不如找淘宝,你掏钱他帮你debug要来得更直接一点。这种工作量的debug,往论坛上发不合适吧?

最后,这个代码看起来像是作业或者实践面试题,最起码我见过的生产代码没有这么简陋的。如果真是这样的话,建议自己多多努力。

Pikachu 2023-07-25 15:32

不能。

问题描述也只有一个channel close,结果代码里面好几个channels完全不清楚是哪个出问题。而且你都已经知道简化过后的程序没问题了,那就说明你删掉的部分有问题啊?在你删掉的那200多行代码里,你用tokio console也罢,用lldb也罢,或者干脆用dbg!大法也罢,总归是有办法缩小范围的。这样一步步缩小范围,总能找到真正导致问题的一小段代码。结果你只尝试了一次就又把问题往论坛上一扔,扪心自问你真的努力去debug了吗?

1000+行的程序,还要配置环境才能跑起来。我建议这种情况下你不如找淘宝,你掏钱他帮你debug要来得更直接一点。这种工作量的debug,往论坛上发不合适吧?

最后,这个代码看起来像是作业或者实践面试题,最起码我见过的生产代码没有这么简陋的。如果真是这样的话,建议自己多多努力。

作者 xbitlabs 2023-07-25 10:12

精简后不报错了,但是不知道原因在哪里,能否帮忙看看?

--
👇
Pikachu: 我建议你先先把代码里面与问题无关的东西去掉,找到一个最小的可以复现问题的代码段。

作者 xbitlabs 2023-07-25 10:12

精简后不报错了,但是不知道原因在哪里,能否帮忙看看?

--
👇
jellybobbin: 建议你先先把代码里面与问题无关的东西去掉,找到一个最小的可以复现问题的代码段。

jellybobbin 2023-07-25 09:55

建议你先先把代码里面与问题无关的东西去掉,找到一个最小的可以复现问题的代码段。

Pikachu 2023-07-25 03:21

我建议你先先把代码里面与问题无关的东西去掉,找到一个最小的可以复现问题的代码段。

1 共 8 条评论, 1 页