C#上的Messenger电报编程困难

问题描述 投票:5回答:3

我尝试发送代码(TLRequestAuthSendCode),但是没有。在什么地方可能有问题?

部分代码:

TLContext tlContext = new TLApiContext();
TcpClient tcpClient = new TcpClient();
tcpClient.Connect(connections[0].getAddress(), (int)connections[0].getPort());
TLRequestAuthSendCode tlRequestAuthSendCode = new TLRequestAuthSendCode("PHONE_NUMBER",
0, 19114, "TOKEN", "en");
tlRequestAuthSendCode.serializeBody(new StreamWriter(tcpClient.GetStream()));
c# api rpc messenger telegram
3个回答
0
投票

您可以开始使用this,但是我已经在vb.net中而不是C#中编写了它。

它将引导您从头开始构建自己的Telegram-API。

也请尝试并熟悉在线文档,它是hard,但是我在上面的link中生成AuthKey时给出的分步说明应该使您入门。

祝你好运


2
投票

您能否调试代码并确定是否

tcpClient.Connect(connections[0].getAddress(),

Connections [0]有值吗?

我建议您将代码更改为以下内容:

        public void run() {
        connections = new ConnectionInfo[]{
            new ConnectionInfo(1, 0, "149.154.167.40", 443)
        };

        apiState = new ApiState(connections);
        doReqCode(connections);

        private void doReqCode(connections){

        var args = new SocketAsyncEventArgs();

我看不到代码可能在哪里中断,也许对您的问题进行更详细的描述会有所帮助


1
投票

TcpClient tcpClient = new TcpClient();

当我尝试代码时,在我看来,端口似乎已被阻塞或已经被使用。也许您那里有权限问题。至少我没有设法让一个Socket像这样的代码一起工作。另外,我没有深入探讨您的代码,但是您使用的是端口443。这是保留访问权限的保留端口。

© www.soinside.com 2019 - 2024. All rights reserved.