在C#上编程信使电报的困难
本文关键字:信使 编程 | 更新日期: 2023-09-27 18:31:02
我尝试发送一个代码(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()));
你能调试你的代码并判断是否
tcpClient.Connect(connections[0].getAddress(),
连接[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();
我看不到代码可能在哪里中断,也许对您的问题进行更详细的描述会有所帮助
TcpClient tcpClient = new TcpClient();
当我尝试代码时,在我看来,该端口要么被阻止,要么已经在使用中。也许您在那里遇到权限问题。至少我没有设法让套接字来处理这样的代码。此外,我没有深入研究您的代码,但您使用的是端口 443。这是具有有限访问权限的保留端口。
你可以
从这个开始,但我是用 vb.net 写的,而不是C#。
它将引导您从头开始构建自己的电报API。
还要尝试熟悉在线文档,这很难,但我在上面的链接中给出的关于生成 AuthKey 的分步说明应该可以帮助您入门。
祝你好运