C#上信使电报编程的难点

时间:2014-11-20 07:15:01

标签: c# api rpc messenger telegram

我尝试发送代码( TLRequestAuthSendCode ),但它没有来。什么可能有问题?

部分代码:

TLContext tlContext = new TLApiContext();
TcpClient tcpClient = new TcpClient();
tcpClient.Connect(connections[0].getAddress(), (int)connections[0].getPort());
TLRequestAuthSendCode tlRequestAuthSendCode = new TLRequestAuthSendCode("+79241652563",
0, 19114, "1e489fd15dcff313e5b3e7a08e8fc791", "en");
tlRequestAuthSendCode.serializeBody(new StreamWriter(tcpClient.GetStream()));

链接:https://github.com/egor-st-dev/Sharpogram/blob/master/Sharpogram/RequestApiId.cs

3 个答案:

答案 0 :(得分: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 :(得分:1)

TcpClient tcpClient = new TcpClient();

当我尝试使用代码时,对我而言似乎主要是因为端口被阻止或已经在使用中。也许你有一个许可问题。至少我没有设法让Socket使用这样的代码。 此外,我没有深入研究您的代码,但您使用的是端口443.这是一个访问受限的保留端口。

答案 2 :(得分:0)

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

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

另外,请尝试熟悉在线文档, hard ,但我在上面link生成 AuthKey <的详细说明/ strong>,应该让你开始。

祝你好运