猿问

无法在 WPF 中调用 SendCodeRequestAsync 方法

在使用 TLSharp 库在 .Net 中使用 Telegram API 时,我一度陷入困境。以下是我尝试使用的代码发送代码请求client.SendCodeRequestAsync() method


            client = new TelegramClient(238363, "9f176b5a6eec1efc8ff58bbc7766e266");

            await client.ConnectAsync();

            var hash = await client.SendCodeRequestAsync("91XXXXXXXXXX");

            if (hash != null)

            {

                MessageBox.Show(hash);

            }`

上面的代码给了我一个与请求的协议不兼容的地址被使用 [2001:b28:f23f:f005::a]:443错误。不知道出了什么问题。我在谷歌上搜索了很多并尝试了很多,但问题仍然存在。所以请任何可以帮助我的人。


桃花长相依
浏览 238回答 2
2回答

莫回无

我终于解决了这个问题。此问题背后的主要原因是 IP 地址版本不匹配。因此,根据This Refrence 我发现var dc = dcOptions.First(d => d.Id == dcId);并用var dc = dcOptions.First(d => d.Id == dcId && !d.Ipv6);TelegramClient.cs 文件中的这一行替换了它,它就像魅力一样工作..

PIPIONE

不支持 IPv6,因此:new TelegramClient(api_id, api_hash, dcIpVersion: DataCenterIPVersion.OnlyIPv4); DataCenterIPVersion enum => 如上所述设置 OnlyIPv4。
随时随地看视频慕课网APP
我要回答