Я пытаюсь подключиться к серверу TeamSpeak 3, используя telnet в приложении C#.Ts3 telnet соединение с C#
Кстати, им не очень опытен с использованием телнет ^^, так что я разоблачил телнет код на сайте https://msdn.microsoft.com/en-us/library/system.net.sockets.tcpclient(VS.80).aspx
Следующий код должен:
- подключения к серверу TeamSpeak
- отправить пароль и зачитал приветственное сообщение
отправить команду «помощь» и зачитал справку сообщение
string command = "help"; // creates new TCP client TcpClient client = new TcpClient(adress, port); // get client stream NetworkStream stream = client.GetStream(); // send Password Byte[] data = System.Text.Encoding.ASCII.GetBytes(password); stream.Write(data, 0, data.Length); data = new Byte[256]; Thread.Sleep(200); Int32 bytes = stream.Read(data, 0, data.Length); String responseData = System.Text.Encoding.ASCII.GetString(data, 0, bytes); Console.WriteLine(responseData); // send the given command Byte[] data2 = System.Text.Encoding.ASCII.GetBytes(command); stream.Write(data2, 0, data2.Length); data2 = new Byte[2560]; Thread.Sleep(200); Int32 bytes2 = stream.Read(data2, 0, data2.Length); String responseData2 = System.Text.Encoding.ASCII.GetString(data2, 0, bytes2); Console.WriteLine(responseData2); // end stream and client stream.Close(); client.Close();
Первый запрос работает как надо и пишет приветственное сообщение в консоль. Но в Int32 bytes2 = stream.Read(data2, 0, data2.Length);
в запросе seccond приложение останавливается, не отказываясь от каких-либо выходов.
Может ли кто-нибудь объяснить, почему я не могу прочитать Справочное сообщение?
Если вы не неблагоприятные для использования библиотеки Я пакет NuGet в https://www.nuget.org/packages/ Telnet (код на https://github.com/9swampy/Telnet/), который будет делать все коммуникации telnet для вас ... – 9swampy
Спасибо за предложение, но я всегда счастлив, когда могу реализовать все сам. Чтобы я знал, что делаю. ^^ – Gonios
Да, я тоже такой. Посмотрите на код на Github, если вы все еще застряли. Удачи. – 9swampy